Javascript: mit Radoi Boxen Textfelder disable/enable?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Javascript: mit Radoi Boxen Textfelder disable/enable?

    Ich habe ein kleines Problem mit JavaScript. Ich habe leider noch nicht soviel Erfahrung damit und vermag mein Problem auch nicht selber zu lösen. Ich habe jetzt etwa 4h daran rumgebastelt, aber es will auf Teufel komm raus nicht funktionieren!

    PHP-Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"
    >
    <
    html>
    <
    head>
    <
    script type="text/javascript">
    <!--
    function 
    feld_sperren() {
        if(
    document.getElementsByName('karte_form')[0].checked == true {
            
    document.getElementsById('text_karte_breite').disabled true;
    //        document.neue_stadt.text_karte_breite.value = "";
            
    document.getElementsById'(text_karte_hoehe').disabled true;
    //        document.neue_stadt.text_karte_hoehe.value = "";
            
    document.getElementsById('text_karte_radius').disabled true;
    //        document.neue_stadt.text_karte_radius.value = "";
        
    }
        if(
    document.getElementsByBane('karte_form')]1].checked == true) {
            
    document.getElementsById('text_karte_breite').disabled false;
            
    document.getElementsById('text_karte_hoehe').disabled false;
            
    document.getElementsById('text_karte_radius').disabled true;
    //        document.neue_stadt.text_karte_radius.value = "";
        
    }
        if(
    document.getElementsByName('karte_form')[2].checked == true) {
            
    document.getElementsById('text_karte_radius').disabled false;
            
    document.getElementsById('text_karte_breite').disabled true;
    //        document.neue_stadt.text_karte_breite.value = "";
            
    document.getElementsById('text_karte_hoehe').disabled true;
    //        document.neue_stadt.text_karte_hoehe.value = "";
        
    }
    }
    //-->
    </script>
    <
    meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </
    head>
    <
    body id="main">
    <
    form method="post" name="neue_stadt">
    <
    table>
     <
    tr>
      <
    td colspan="3">
       <
    b>Neue Stadt anlegen</b>
      </
    td>
     </
    tr>
     <
    tr>
      <
    td rowspan="2">&nbsp;</td>
      <
    td>Name</td>
      <
    td>
       <
    input type="text" id="text_city_name" name="city_name" maxlength="50" size="20"
     
    value="" class="textfield">
      </
    td>
     </
    tr>
     <
    tr>
      <
    td>Datenbank Pr&auml;fix</td>
      <
    td>
       <
    input type="text" id="text_city_short" name="city_short" maxlength="10" size="5"
     
    value="" class="textfield" >
      </
    td>
     </
    tr>
     <
    tr>
      <
    td rowspan="1">
       <
    input type="radio" id="radio_karte_standart" name="karte_form" value="standart"
     
    onClick="feld_sperren();" checked>
      </
    td>       
      <
    td>Standartkarte generieren<!--br>(runde mit 57 10 Feldern &equiv456m 80m)--></td>
      <
    td>&nbsp;</td>
     </
    tr>
     <
    tr>
      <
    td rowspan="3">
       <
    input type="radio" id="radio_karte_eckig" 
     
    name="karte_form" value="eckig" onClick="feld_sperren();">
      </
    td>     
      <
    td>Rechteckige Karte generieren</td>
      <
    td>&nbsp;</td>
     </
    tr>
     <
    tr>
      <
    td>Breite</td>
      <
    td>
       <
    input type="text" id="text_karte_breite" 
    name="karte_form_breite" size="3" maxlength="3" disabled>
      </
    td>
     </
    tr>
     <
    tr>
      <
    td>H&ouml;he</td>
      <
    td>
       <
    input type="text" id="text_karte_hoehe" 
    name="karte_form_hoehe" size="3" maxlength="3" disabled >
      </
    td>
     </
    tr>
     <
    tr>
      <
    td rowspan="2">
       <
    input type="radio" id="radio_karte_rund" 
    name="karte_form" value="rund" onClick="feld_sperren();">
      </
    td>
      <
    td>Runde Karte generieren</td>
      <
    td>&nbsp;</td>
     </
    tr>
     <
    tr>
      <
    td>Radius</td>
      <
    td>
       <
    input type="text" id="text_karte_radius" 
    name="karte_form_radius" size="3" maxlength="3" disabled>
      </
    td>
     </
    tr>
     <
    tr>
      <
    td colspan="3">
       <
    input type="submit" value="Stadt gr&uuml;nden" id="buildcity">
      </
    td>
     </
    tr>
    </
    table>
    </
    form>
    </
    body>
    </
    html
    Mit den Radio-Buttons soll je nach Auswahl die nebenstehende Textfelder aktiv oder inaktiv werden. Da das Dokument in PHP weiter veraribetet wird kann ich den Textfeldern keinen gemeinsamen Namen geben, so das ich sie alle mit einmal schalten könnte.
    Derzeit passiert im Firefox bzw. IE gar nichts. Ich kann munter rumklicken aber meine Textfelder werden nicht aktiv.
    Mein Problem ist, das ich nicht weiß ob ich sie überhaupt richtig anspreche bzw. ob meine wirklich simple JS - Funktio richtig ist. Wäre nett wenn mir jemand mal bitte weiter helfen könnte.
    Zuletzt geändert von virusse; 29.04.2005, 07:44.

  • #2
    .getElementsByName(... => mit s
    .getElementById(... => ohne s

    Kommentar


    • #3
      Re: Javascript: mit Radio Boxen Textfelder disable/enable?

      PHP-Code:
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
      "http://www.w3.org/TR/html4/loose.dtd"
      >
      <
      html>
      <
      head>
      <
      script type="text/javascript">
      <!--
      function 
      feld_sperren() {
          if(
      document.getElementsByName('karte_form')[0].checked == true {
              
      document.getElementById('text_karte_breite').disabled true;
      //        document.neue_stadt.text_karte_breite.value = "";
              
      document.getElementById'(text_karte_hoehe').disabled true;
      //        document.neue_stadt.text_karte_hoehe.value = "";
              
      document.getElementById('text_karte_radius').disabled true;
      //        document.neue_stadt.text_karte_radius.value = "";
          
      }
          if(
      document.getElementsByBane('karte_form')]1].checked == true) {
              
      document.getElementById('text_karte_breite').disabled false;
              
      document.getElementById('text_karte_hoehe').disabled false;
              
      document.getElementById('text_karte_radius').disabled true;
      //        document.neue_stadt.text_karte_radius.value = "";
          
      }
          if(
      document.getElementsByName('karte_form')[2].checked == true) {
              
      document.getElementById('text_karte_radius').disabled false;
              
      document.getElementById('text_karte_breite').disabled true;
      //        document.neue_stadt.text_karte_breite.value = "";
              
      document.getElementById('text_karte_hoehe').disabled true;
      //        document.neue_stadt.text_karte_hoehe.value = "";
          
      }
      }
      //-->
      </script>
      <
      meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      </
      head>
      <
      body id="main">
      <
      form method="post" name="neue_stadt">
      <
      table>
       <
      tr>
        <
      td colspan="3">
         <
      b>Neue Stadt anlegen</b>
        </
      td>
       </
      tr>
       <
      tr>
        <
      td rowspan="2">&nbsp;</td>
        <
      td>Name</td>
        <
      td>
         <
      input type="text" id="text_city_name" name="city_name" maxlength="50" size="20"
       
      value="" class="textfield">
        </
      td>
       </
      tr>
       <
      tr>
        <
      td>Datenbank Pr&auml;fix</td>
        <
      td>
         <
      input type="text" id="text_city_short" name="city_short" maxlength="10" size="5"
       
      value="" class="textfield" >
        </
      td>
       </
      tr>
       <
      tr>
        <
      td rowspan="1">
         <
      input type="radio" id="radio_karte_standart" name="karte_form" value="standart"
       
      onClick="feld_sperren();" checked>
        </
      td>       
        <
      td>Standartkarte generieren<!--br>(runde mit 57 10 Feldern &equiv456m 80m)--></td>
        <
      td>&nbsp;</td>
       </
      tr>
       <
      tr>
        <
      td rowspan="3">
         <
      input type="radio" id="radio_karte_eckig" 
       
      name="karte_form" value="eckig" onClick="feld_sperren();">
        </
      td>     
        <
      td>Rechteckige Karte generieren</td>
        <
      td>&nbsp;</td>
       </
      tr>
       <
      tr>
        <
      td>Breite</td>
        <
      td>
         <
      input type="text" id="text_karte_breite" 
      name="karte_form_breite" size="3" maxlength="3" disabled>
        </
      td>
       </
      tr>
       <
      tr>
        <
      td>H&ouml;he</td>
        <
      td>
         <
      input type="text" id="text_karte_hoehe" 
      name="karte_form_hoehe" size="3" maxlength="3" disabled >
        </
      td>
       </
      tr>
       <
      tr>
        <
      td rowspan="2">
         <
      input type="radio" id="radio_karte_rund" 
      name="karte_form" value="rund" onClick="feld_sperren();">
        </
      td>
        <
      td>Runde Karte generieren</td>
        <
      td>&nbsp;</td>
       </
      tr>
       <
      tr>
        <
      td>Radius</td>
        <
      td>
         <
      input type="text" id="text_karte_radius" 
      name="karte_form_radius" size="3" maxlength="3" disabled>
        </
      td>
       </
      tr>
       <
      tr>
        <
      td colspan="3">
         <
      input type="submit" value="Stadt gr&uuml;nden" id="buildcity">
        </
      td>
       </
      tr>
      </
      table>
      </
      form>
      </
      body>
      </
      html
      Ah ja! Stimmt. Dilletantenfehler. Ok der ist raus, aber funktionieren tuts immer noch nicht, was ich nicht verstehe,weil eigentlich sollte es nun. :-(

      Kommentar


      • #4
        PHP-Code:
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
        "http://www.w3.org/TR/html4/loose.dtd"
        >
        <
        html>
        <
        head>
        <
        script type="text/javascript">
        <!--
        function 
        feld_sperren() {
            if(
        document.getElementsByName('karte_form')[0].checked == true) {
                
        document.getElementById('text_karte_breite').disabled true;
        //        document.neue_stadt.text_karte_breite.value = "";
                
        document.getElementById('text_karte_hoehe').disabled true;
        //        document.neue_stadt.text_karte_hoehe.value = "";
                
        document.getElementById('text_karte_radius').disabled true;
        //        document.neue_stadt.text_karte_radius.value = "";
            
        }
            if(
        document.getElementsByName('karte_form')[1].checked == true) {
                
        document.getElementById('text_karte_breite').disabled false;
                
        document.getElementById('text_karte_hoehe').disabled false;
                
        document.getElementById('text_karte_radius').disabled true;
        //        document.neue_stadt.text_karte_radius.value = "";
            
        }
            if(
        document.getElementsByName('karte_form')[2].checked == true) {
                
        document.getElementById('text_karte_radius').disabled false;
                
        document.getElementById('text_karte_breite').disabled true;
        //        document.neue_stadt.text_karte_breite.value = "";
                
        document.getElementById('text_karte_hoehe').disabled true;
        //        document.neue_stadt.text_karte_hoehe.value = "";
            
        }
        }
        //-->
        </script>
        <
        meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        </
        head>
        <
        body id="main">
        <
        form action="ci_create.php" method="post" name="neue_stadt">
        <
        table>
         <
        tr>
          <
        td colspan="3">
           <
        b>Neue Stadt anlegen</b>
          </
        td>
         </
        tr>
         <
        tr>
          <
        td rowspan="2">&nbsp;</td>
          <
        td>Name</td>
          <
        td>
           <
        input type="text" id="text_city_name" name="city_name" maxlength="50" size="20"
         
        value="" class="textfield">
          </
        td>
         </
        tr>
         <
        tr>
          <
        td>Datenbank Pr&auml;fix</td>
          <
        td>
           <
        input type="text" id="text_city_short" name="city_short" maxlength="10" size="5"
         
        value="" class="textfield" >
          </
        td>
         </
        tr>
         <
        tr>
          <
        td rowspan="1">
           <
        input type="radio" id="radio_karte_standart" name="karte_form" value="standart"
         
        onClick="feld_sperren();" checked>
          </
        td>       
          <
        td>Standartkarte generieren<!--br>(runde mit 57 10 Feldern &equiv456m 80m)--></td>
          <
        td>&nbsp;</td>
         </
        tr>
         <
        tr>
          <
        td rowspan="3">
           <
        input type="radio" id="radio_karte_eckig"
         
        name="karte_form" value="eckig" onClick="feld_sperren();">
          </
        td>     
          <
        td>Rechteckige Karte generieren</td>
          <
        td>&nbsp;</td>
         </
        tr>
         <
        tr>
          <
        td>Breite</td>
          <
        td>
           <
        input type="text" id="text_karte_breite" name="karte_form_breite" size="3" maxlength="3" disabled>
          </
        td>
         </
        tr>
         <
        tr>
          <
        td>H&ouml;he</td>
          <
        td>
           <
        input type="text" id="text_karte_hoehe" name="karte_form_hoehe" size="3" maxlength="3" disabled >
          </
        td>
         </
        tr>
         <
        tr>
          <
        td rowspan="2">
           <
        input type="radio" id="radio_karte_rund" 
        name="karte_form" value="rund" onClick="feld_sperren();">
          </
        td>
          <
        td>Runde Karte generieren</td>
          <
        td>&nbsp;</td>
         </
        tr>
         <
        tr>
          <
        td>Radius</td>
          <
        td>
           <
        input type="text" id="text_karte_radius" 
        name="karte_form_radius" size="3" maxlength="3" disabled>
          </
        td>
         </
        tr>
         <
        tr>
          <
        td colspan="3">
           <
        input type="submit" value="Stadt gr&uuml;nden" id="buildcity">
          </
        td>
         </
        tr>
        </
        table>
        </
        form>
        </
        body>
        </
        html
        Ohhhh Mann! WAs ich da für Fehler gestern Abend reingewürgt habe geht auf keine Kuhhaut. Tut mir Leid. Hier nochmal das funktionierende Skript.Hab diverse Schrebfehler drin gehabt. Sry nochmal fürs "eigentlich" sinnlos vollspamen des Forums. :-(

        Kommentar

        Lädt...
        X