textfeld disable per checkbox

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

  • textfeld disable per checkbox

    Hallo,

    ich habe ein Pronlem mit JavaScript.

    Ich gebe Daten aus einer Datenbank aus. U.a name, datum, sprache usw. Jetzt ist hinter einigen namen ein textfeld (abhänig von der abfrage), dazu ist hinter jedem textfeld noch eine chechbox.

    Nur möchte ich, dass beim click auf die checkbox sich das entsprechende textfeld disabled.

    ich habe onClick="enable()" auf die checkbox gelegt.

    funktion enable():
    PHP-Code:
    function enable()
      {
        
    document.getElementByName("text_spiel").disabled=true;
      } 
    text_spiel ist der name des textfeldes das disabled werde soll.

    nun habe ich folgendes problem. da die daten aus einer datenbank kommen, ist die anzahl immer unterschiedlich.

    also gibt es den namen "text_spiel" immer unterschiedlich oft, also komme ich mit getElementByName nicht wirklich weit.

    hat jemand einen Tipp wie man das am besten verwirklicht.

  • #2
    Entweder mit einer eindeutigen ID arbeiten, oder value überprüfen
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      PHP-Code:
       document.getElementsByName("text_spiel")[0].disabled=true
      würde ich mal sagen....


      Byteandi
      Sport Dates

      Kommentar


      • #4
        ich habe es mit der ID hinbekommen

        PHP-Code:
        function enable(id)
        {
           
        document.getElementById(id).disabled=false;

        nun möchte ich das ganze auch wieder umkehren. also wenn man ein zweites mal auf die checkbox klickt, sprich sie deaktiviert, soll das textfeld wieder disablen.

        ich habe es mit
        PHP-Code:
        function enable(id)
          {
            if (
        document.getElementById(id).disabled == false)
              {
                
        document.getElementById(id).disabled=true;
              }

            if (
        document.getElementById(id).disabled == true)
              {
                
        document.getElementById(id).disabled=false;
              }
          } 
        probiert. hat aber so leider nicht funktionert.

        wie genau mache ich das?

        Kommentar


        • #5
          PHP-Code:
          function enable(id)
            {
              if (
          document.getElementById(id).disabled == false)
                {
                  
          document.getElementById(id).disabled=true;
                  return 
          true;
                }

              if (
          document.getElementById(id).disabled == true)
                {
                  
          document.getElementById(id).disabled=false;
                 return 
          true
                }
            } 
          Sport Dates

          Kommentar


          • #6
            Danke Byteandi, klappt wunderbar

            Kommentar


            • #7
              naja wenn dir auch klar iss warum es so klappt iss ja gut....

              das return war wichtig weil es ja sonst sofort wieder umgeswitcht wird..


              byteandi
              Sport Dates

              Kommentar


              • #8
                Original geschrieben von Byteandi
                das return war wichtig weil es ja sonst sofort wieder umgeswitcht wird..
                na ja, statt zwei von einander unabhängige if-abfragen nacheinander zu machen, hätte es ja auch ein if/else getan, ohne return ... (zwischen true und false gibt es ja nicht mehr so viele andere möglichkeiten, gelle)
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Das gibt 100 Punkte.....richtig und das zweite return haette man sich auch sparen koennen, aber das sind doch nur kleinigkeiten die das script nicht besser oder schlechter laufen lassen. (nur nen bruchteil von millisecunden langsamer).


                  Byteandi
                  Sport Dates

                  Kommentar

                  Lädt...
                  X