MyBB.de Forum
Javascript Feld sperren? - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html)
+--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html)
+--- Thema: Javascript Feld sperren? (/thread-22169.html)

Seiten: Seiten: 1 2


Javascript Feld sperren? - baeckerman83 - 19.03.2010

Hiho!
Ich habe ein Dropdownfeld und würde gerne wenn dort Sonstiges ausgewählt wird ein Input Feld freigeben das nur dann was dort rein geschrieben werden kann. Leider klappt das aber nicht. Sad Ich finde auch den Fehler nicht. Wäre nett wenn mal jemand schaut ob er einen Fehler findet.
Hier mal den Quellcode. Es ist das newreply Template. Das JS wird noch in eine Datei ausgelagert wenn ich alles fertig programmiert habe.

Code:
<html>
<head>
<title>{$lang->post_reply_to}</title>
{$headerinclude}
<script type="text/javascript" src="jscripts/post.js?ver=1400"></script>
<script type="text/javascript">
function sonstiges_aktivieren(obj){
if(obj.value=='sonstige'){
alert(obj.value);
var deaktiviert = true;
  } else {
    var deaktiviert = false;
  }
document.getElementByID('wettart').disabled = deaktiviert;

}

function clone_this(objButton)
{
if(objButton.parentNode)
    {
    
    ersteselement=document.getElementById("tipp_eintragen").getElementsByTagName("table").length;
    tmpNode=document.getElementById(ersteselement).cloneNode(true);

    var nummer=ersteselement+1;
    tmpNode.id=nummer;
    //objButton.form.appendChild(tmpNode);
    document.getElementById("tipp_eintragen").insertBefore(tmpNode,document.getElementById("tipp"));
    
    for(j=0;j<document.getElementById(nummer).getElementsByTagName("input").length;++j)
        {     
        if(document.getElementById(nummer).getElementsByTagName("input")[j].type=='text')
            {
            document.getElementById(nummer).getElementsByTagName("input")[j].value='';
            //break;
            }
        }
        
    //objButton.value="entfernen";
    //objButton.onclick=new Function('f1','this.form.removeChild(this.parentNode)');
    }
}
</script>
</head>
<body>
{$header}
{$preview}
{$maximageserror}
{$attacherror}
{$reply_errors}
<form action="newreply.php?tid={$tid}&amp;processed=1" method="post" enctype="multipart/form-data" name="input">
<input type="hidden" name="my_post_key" value="{$mybb->post_code}" />
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr>
<td class="thead" colspan="2"><strong>{$lang->post_new_reply}</strong></td>
</tr>
<tr>
<td class="tcat" colspan="2"><span class="smalltext"><strong>{$lang->reply_to}</strong></span></td>
</tr>
{$loginbox}
<tr>
<td class="trow2" width="20%"><strong>{$lang->post_subject}</strong></td>
<td class="trow2"><input type="text" class="textbox" name="subject" size="40" maxlength="85" value="{$subject}" tabindex="1" /></td>
</tr>
{$posticons}
<tr>
<td class="trow2" valign="top"><strong>{$lang->your_message}</strong><br />{$smilieinserter}</td>
<td class="trow2">
<textarea id="message" name="message" rows="20" cols="70" tabindex="2" >{$message}</textarea>
{$codebuttons}
{$multiquote_external}
</td>
</tr>
<tr>
<td class="trow1" valign="top"><strong>{$lang->post_options}</strong></td>
<td class="trow1"><span class="smalltext">
<label><input type="checkbox" class="checkbox" name="postoptions[signature]" value="1" tabindex="6"{$postoptionschecked['signature']} /> {$lang->options_sig}</label>
{$disablesmilies}
</span></td>
</tr>
{$modoptions}
{$subscriptionmethod}
{$captcha}
</table>
{$attachbox}
<br />


<!-- Test Start-->
<div id="tipp_eintragen">
<table id="1" border="0" cellspacing="0" cellpadding="4" class="tborder">
<tr>
    <td class="thead" colspan="3"><strong>Neuer Tipp</strong></td>
</tr>
<tr>
    <td class="tcat smalltext" colspan="3">Hier kannst du einen neuen Tipp, der in deine Statistik eingehen wird, an deinen Beitrag anhängen. Alle Felder sind Pflichtfelder!</td>

</tr>
<tr>
<td class="trow2" valign="top"><strong>Datum - Uhrzeit</strong><br/></td>
<td class="trow2"><input id="bet_date" type = "text" size = "25" name = "bet_date[]"></td>
</tr>
<tr>
<td class="trow2" valign="top"><strong>Liga</strong><br/></td>
<td class="trow2"><input type = "text" size = "25" name = "bet_liga[]"></td>
</tr>
<tr>
<td class="trow2" valign="top"><strong>Beteiligte Mannschaften</strong><br/></td>
<td class="trow2"><input type = "text" size = "25" name = "bet_parties"></td>
</tr>
<tr>
<td class="trow2" valign="top"><strong>Wettart</strong><br/>Sonstige Wettart (nur wenn bei Wettart sonstiges ausgewählt):</td>
<td class="trow2" valign="top">
<select onchange="sonstiges_aktivieren(this.options[this.options.selectedIndex])" name="bet_concept[]" size="1">
      <option value='1x2'>1X2</option>
      <option value='dc'>DoppelChance</option>
      <option value='ou'>Over/Under</option>
      <option value='ahc'>ahc</option>
      <option value='hc'>HandiCap</option>
      <option value='sonstige'>Sonstige</option>
    </select>
<br />
<input id="wettart" type = "text" size = "25" name = "bet_concept_sonstiges[]" disabled>
</td>
</tr>
<tr>
<td class="trow2" valign="top"><strong>Tipp</strong><br/></td>
<td class="trow2"><input type = "text" size = "25" name = "bet_tip"></td>
</tr>
<tr>
<td class="trow2" valign="top"><strong>Quote (bitte "." statt ","!!!)</strong><br/></td>
<td class="trow2"><input type = "text" size = "25" name = "bet_rate"></td>
</tr>
<tr>
<td class="trow2" valign="top"><strong>Einsatz (0-10 Units)</strong><br/></td>
<td class="trow2">
<select name="bet_einsatz" size="1">
      <option>0</option>
      <option>1</option>
      <option>2</option>
      <option>3</option>
      <option>4</option>
      <option>5</option>
      <option>6</option>
      <option>7</option>
      <option>8</option>
      <option>9</option>
      <option>10</option>
    </select>
</td>
</tr>
<tr>
<td class="trow2" valign="top"><strong>Buchmacher</strong><br/></td>
<td class="trow2"><input type = "text" size = "25" name = "bet_bookmaker"></td>
</tr>
</table>
<br id="tipp"/>
</div>

<!-- Test Ende-->

<br />
<div align="center"><input type="button" value="noch ein Tipp" onclick="clone_this(this)"><input type="submit" class="button" name="submit" value="{$lang->post_reply}" tabindex="3" accesskey="s" />  <input type="submit" class="button" name="previewpost" value="{$lang->preview_post}" tabindex="4" />{$savedraftbutton}</div>
<input type="hidden" name="action" value="do_newreply" />
<input type="hidden" name="replyto" value="{$replyto}" />
<input type="hidden" name="posthash" value="{$posthash}" />
<input type="hidden" name="attachmentaid" value="" />
<input type="hidden" name="attachmentact" value="" />
<input type="hidden" name="quoted_ids" value="{$quoted_ids}" />
<input type="hidden" name="tid" value="{$tid}" />
{$editdraftpid}
</form>
{$forumrules}
{$threadreview}
{$footer}
</body>
</html>



RE: Javascript Feld sperren? - StefanT - 19.03.2010

Was funktioniert denn nicht? Werden die Funktionen überhaupt aufgerufen?


RE: Javascript Feld sperren? - baeckerman83 - 19.03.2010

Ja die Funktionen werden auf gerufen.
Unter http://81.89.101.37/mybb/newreply.php?tid=2
Benutzername: test pw: testtest
kannst du es dir mal anschauen was schon geht. Er gibt das Feld nicht wieder frei.


RE: Javascript Feld sperren? - StefanT - 19.03.2010

Ich kann mich da nicht einloggen.


RE: Javascript Feld sperren? - XxAnimusxX - 19.03.2010

Nun nach W3C muss als Eigenschaft "disabled" und nicht "true/false" gesetzt werden, versuch mal ...disabled = "disabled";
Ob es aber wirklich daran liegt... ich pers. würde es bezweifeln, aber kann ja nicht schaden es zu probieren Smile

PHP-Code:
function sonstiges_aktivieren(obj){

        $(
'wettart').disabled = (obj.value == 'sonstige')? "":"disabled";



Ich habe den Code auf deiner verlinkten Seite getestet und es klappt wunderbar Smile


RE: Javascript Feld sperren? - baeckerman83 - 19.03.2010

(19.03.2010, 14:00)StefanT schrieb: Ich kann mich da nicht einloggen.

hast du als PW testtest benutzt? Hatte ein test erst vergessen.

(19.03.2010, 14:12)XxAnimusxX schrieb: Nun nach W3C muss als Eigenschaft "disabled" und nicht "true/false" gesetzt werden, versuch mal ...disabled = "disabled";
Ob es aber wirklich daran liegt... ich pers. würde es bezweifeln, aber kann ja nicht schaden es zu probieren Smile

PHP-Code:
function sonstiges_aktivieren(obj){

        $(
'wettart').disabled = (obj.value == 'sonstige')? "":"disabled";



Ich habe den Code auf deiner verlinkten Seite getestet und es klappt wunderbar Smile

Ja so gehts, danke. Smile
Kannst du das evt noch mal in langer schreibweise schreiben? Also mit if.


RE: Javascript Feld sperren? - StefanT - 19.03.2010

Nein, hell sehen kann ich nicht. Allerdings kann ich mich wegen falsche Cookie-Daten immer noch nicht anmelden.


RE: Javascript Feld sperren? - baeckerman83 - 19.03.2010

Bei mir geht aber alles. Was sind falsche Cookie Daten? Also woran kann das liegen?


RE: Javascript Feld sperren? - StefanT - 19.03.2010

Du musst die Cookie-Domain leer lassen, da du keine Domain benutzt.


RE: Javascript Feld sperren? - baeckerman83 - 19.03.2010

Achso ok, ist erledigt.