Ergebnis 1 bis 4 von 4
  1. #1
    lonely_hawk ist offline Mitglied
    registriert
    15-07-2005
    Beiträge
    27

    Question dynamische Variablen von php zu java script um checkboxen zu sperren.

    hallo,

    zuerst, ich hab die suchfuntkion genutzt, auch einiges gefunden, komme dennoch nicht weiter.

    ich habe ein php-script, das eine liste von nutzern aus einer datenbank holt und in ein formular packt. hinter jedem name sind dann drei checkboxen und ein textfeld.

    also:

    Max Muster | checkbox1 | checkbox2 | checkbox3 | Textfeld

    die ganze sachen und somit auch die variablennamen und ids sind natürlich dynamisch. d.h. namen und ids der inputs bestehen aus einen statischen und einem dynamischen Teil. Bsp: name=\"test$id\" id=\"check$id\"

    nun zum Problem. Ich möchte nun per javascript erreichen, dass checkbox2, checkbox3 und das Textfeld erst nutzbar sind, wenn checkbox eins aktiviert/angeklickt wurde. wenn die checkbox1 wieder deaktivert wird sollen die anderen checkboxen und das textfeld wieder auf null gesetzt werden.

    jetzt habe ich mir als javascript neuling ein script zusammengebastelt, was leider nicht ganz funktioniert.

    Code:
    <script type="text/javascript">
    
    function checktest() {
      if (document.Testform.check<?=$id?>[0].checked == true) {
        var deaktiviert = false;
      } 
      else if (document.Testform.check<?=$s_id?>[0].checked == false) {
        var deaktiviert = true;
      }
      for (var i = 0; i < document.Testform.checkthis.length; i++) {
        document.Testform.checkthis<?=$s_id?>[i].disabled = deaktiviert;
      }
    }
    </script>

    das formular sieht in etwa so aus:
    HTML-Code:
    <form action=\"blubb\" method=\"post\" name=\"Testform\">
    <input type=\"checkbox\" id=\"check$id\" name=\"test$id\" onclick=\"checktest();\" />
    <input type=\"checkbox\" id=\"checkthis$id\" name=\"test2$id\" />
    <input type=\"checkbox\" id=\"checkthis$id\" name=\"test3$id\" />
    <input type=\"text\" id=\"checkthis$id\" name=\"textfeld$id\"  />
    <input type=\"submit\" name=\"submit\" value=\"senden\" />
    wenn ich überall im js und bei den id's das $id weglasse, wird funktioniert es prinzipiell, aber nur mit der checkbox des ersten eintrags, die dann ALLE checkboxen ein oder aus schaltet, also auch die, der anderen nutze, was natürlich nicht sinn und zweck der sache ist.

    mit $id passiert leider gar nix.

    die php-variable wird aber im js im quelltext dargestellt. also $id hat auch im js den richtigen wert. bsp. ->
    Code:
     if (document.Testform.check7[0].checked == true) {
    kann mir jemand einen verständlichen tipp geben? in js bin ich (im gegensatz zu php) blutiger anfänger.
    Geändert von lonely_hawk (03-01-2009 um 15:22 Uhr)

  2. #2
    dewey_89 ist offline Mitglied
    registriert
    27-12-2008
    Ort
    Sandl
    Beiträge
    42

    Lightbulb AW: dynamische Variablen von php zu java script um checkboxen zu sperren.

    1. Du verwendest öfters die gleiche ID. Da geht ja dann der Sinn ein IdentifikationsNummer verloren!
    2. Soweit ich das weiß geht das so mit dem ansprechen im javascript ("document.FormName.XXX") über den Namen und nicht über die ID.
      Aber das sei mal dahingestellt.


    Also so auf die schnelle fallen mir 2 Möglichkeiten ein wie du das lösen könntest.

    1. Möglichkeit
    PHP-Code:
    <form action="blubb" method="post" name="Testform">
        <
    input type="checkbox" id="check1_$idname="test1" onclick="javascript: document.getElementById('check2_$id').disabled = !this.checked; document.getElementById('check3_$id').disabled = !this.checked; document.getElementById('check4_$id').disabled = !this.checked" />
        <
    input type="checkbox" id="check2_$idname="test21" disabled />
        <
    input type="checkbox" id="check3_$idname="test31" disabled />
        <
    input type="text" id="check4_$idname="textfeld1" disabled />
        <
    input type="submit" name="submit" value="senden" />
    </
    form
    2. Möglichkeit
    JavaScript:
    PHP-Code:
    function checktest(id) {
        var 
    state = !document.getElementById('check1_'+id).checked;
        
    document.getElementById('check2_'+id).disabled state;
        
    document.getElementById('check3_'+id).disabled state;
        
    document.getElementById('check4_'+id).disabled state;

    HTML-Code:
    PHP-Code:
    <form action="blubb" method="post" name="Testform">
        <
    input type="checkbox" id="check1_$idonclick="checktest('$id');" />
        <
    input type="checkbox" id="check2_$iddisabled />
        <
    input type="checkbox" id="check3_$iddisabled />
        <
    input type="text" id="check4_$iddisabled />
        <
    input type="submit" name="submit" value="senden" />
    </
    form
    Hab beides ausprobiert. Sollte klappen

    greez

  3. #3
    lonely_hawk ist offline Mitglied
    registriert
    15-07-2005
    Beiträge
    27

    AW: dynamische Variablen von php zu java script um checkboxen zu sperren.

    hej dewey_89,

    1000 Dank!

    es funktioniert

    danke für die schnelle und perfekte hilfe!

  4. #4
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.757

    AW: dynamische Variablen von php zu java script um checkboxen zu sperren.

    -- hat sich erledigt --

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 11-03-2009, 15:39
  2. Java script gekoppelt in PHP => funktioniert nicht
    Von Davidgc im Forum Serverseitige Programmierung
    Antworten: 1
    Letzter Beitrag: 08-10-2007, 14:55
  3. php seite mit java script aufrufen
    Von henne90 im Forum JavaScript
    Antworten: 36
    Letzter Beitrag: 30-05-2007, 19:27
  4. Java Script anpassen? Wie?
    Von Nightrider im Forum JavaScript
    Antworten: 7
    Letzter Beitrag: 05-01-2007, 21:06
  5. Burning Board & Java Script (Smielies)
    Von McRonny im Forum JavaScript
    Antworten: 7
    Letzter Beitrag: 30-10-2005, 12:16

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •