disabled wegnehmen wenn radion button == checked...

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

  • disabled wegnehmen wenn radion button == checked...

    Hallo,

    folgendes soll passieren:

    Wenn

    PHP-Code:
    <input type="Radio" name="set_profile" value="1" <? if($_SESSION['u_profile']== "jpg" OR $_SESSION['u_profile']== "gif" OR $_SESSION['u_profile']== "nop"){ echo "checked"; } ?>>
    checked (entweder durch anklicken oder durch SESSION status) ist, soll bei
    PHP-Code:
    <select name="u_day" style="font-size:7pt" disabled
    PHP-Code:
    <select name="u_month" style="font-size:7pt" disabled
    PHP-Code:
    <select name="u_year" style="font-size:7pt" disabled
    PHP-Code:
    <input style="border: 1px solid #7B7D7B;font-size: 8pt" type="Text" name="u_plz" value="<? if ($_SESSION['u_profile'] == "gif" OR $_SESSION['u_profile'] == "jpg" OR $_SESSION['u_profile'] == "nop"){ echo $profile_res['p_plz']; } ?>
    PHP-Code:
    <input style="border: 1px solid #7B7D7B;font-size: 8pt" type="Text" name="u_ort" value="<? if ($_SESSION['u_profile'] == "gif" OR $_SESSION['u_profile'] == "jpg" OR $_SESSION['u_profile'] == "nop"){ echo $profile_res['p_ort']; } ?>" size="20" maxlength="30" disabled>
    PHP-Code:
    <textarea style="border: 1px solid #7B7D7B;font-size: 8pt" name="u_text" cols="47" rows="6"  disabled
    PHP-Code:
    <input style="border: 1px solid #7B7D7B;font-size: 8pt" type="File" name="u_pic" size="44" disabled
    das disabled weggenommen werden.

    Wenn
    PHP-Code:
    <input type="Radio" name="set_vote" value="1" <? if($_SESSION['u_vote']== "jpg" OR $_SESSION['u_vote']== "gif"){ echo "checked"; } ?>>
    checked (entweder durch anklicken oder durch SESSION status) ist, soll nur bei
    PHP-Code:
    <input style="border: 1px solid #7B7D7B;font-size: 8pt" type="File" name="u_pic" size="44" disabled
    das disabled weggenommen.

    Wenn set_profile UND set_vote value="1" gleich checked sind würde wieder Fall1 eintreten, dass alle Felder editierbar, schreibbar sind.

    Zu sagen sein vielleicht noch, dass es bei Radion button set_profile noch ein
    PHP-Code:
    <input type="Radio" name="set_profile" value="0" <? if($_SESSION['u_profile']== ""){ echo "checked"; } ?>>
    gibt und das gleiche auch bei set_vote:

    PHP-Code:
    <input type="Radio" name="set_vote" value="0" <? if($_SESSION['u_vote']== ""){ echo "checked"; } ?>>
    Vielleicht ist das irgendwie wichtig für die zustandsprüfung?

    Naja, zu guter letzt meine Bite da is null Ahnung von JS habe, würde ich für kompletten Code mehr als freuen, bzw. Link mit ähnlichen Beispielen, wo ich nich viel dran ändern muss, vieelicht hat ja jmd was passendes zur Hand, ich würd mich echt freuen...

  • #2
    versuch mal folgendes:
    Code:
    .
    .
    .
    <SCRIPT type="text/javascript">
    function able()
     {
        if (document.formularname.set_profile.checked== true)
    //  if (document.formularname.set_profile[0].checked== true) // alternative
    
         {
          document.formularname.elementname.disabled = false;  // felder freigeben
          .
          .
          .
          .
         }
         else
         {
          document.formularname.elementname.disabled = false;  // felder sperren
          .
          .
          .
          .
         }
    
     }
    </script>
    
    .
    .
    .
    <input type="Radio" name="set_profile" value="1" <? if($_SESSION['u_profile']== "jpg" OR $_SESSION['u_profile']== "gif" OR $_SESSION['u_profile']== "nop"){ echo "checked"; } ?>  onchange="able()">
    <!-- onchange() merkt, wenn sich was ändert und ruft die fkt able() auf -->
    .
    .
    
    <SCRIPT type="text/javascript">
    able();  // aufruf am ende der seite, damit felder gesperrt/freigegeben werden können => das netz mit doppeltem boden
    </script>
    </body>
    </html>
    ungetestet
    Kissolino.com

    Kommentar


    • #3
      So hab ich's jetzt, leider haut's nicht hin...

      PHP-Code:
      <SCRIPT type="text/javascript">
      function 
      able()
       {
          if (
      document.account.set_profile.checked== true)
      //  if (document.formularname.set_profile[0].checked== true) // alternative

           
      {
            
      //document.account.elementname.disabled = false;  // felder freigeben
            
      document.account.u_day.disabled=false
            document
      .account.u_month.disabled=false
            document
      .account.u_year.disabled=false
            document
      .account.u_plz.disabled=false
            document
      .account.u_ort.disabled=false
            document
      .account.u_text.disabled=false
            document
      .account.u_pic.disabled=false
           
      }
           else
           {
            
      //document.formularname.elementname.disabled = false;  // felder sperren
            
      document.account.u_day.disabled=true
            document
      .account.u_month.disabled=true
            document
      .account.u_year.disabled=true
            document
      .account.u_plz.disabled=true
            document
      .account.u_ort.disabled=true
            document
      .account.u_text.disabled=true
            document
      .account.u_pic.disabled=true
           
      }

       }
      </
      script
      Den Else Teil habe ich auf "TRUE" gesetzt, war das richtig?
      Das ist der formtag:
      <form name="account" action="s_account.php" method="POST" enctype="multipart/form-data">
      An den formfelder habe ich nichts mehr geändert, nur den radiobutton set_profile mit value="1":

      PHP-Code:
      <input type="Radio" name="set_profile" value="1" <? if($_SESSION['u_profile']== "jpg" OR $_SESSION['u_profile']== "gif" OR $_SESSION['u_profile']== "nop"){ echo "checked"; } ?> onchange="able()">
      am Ende des Formulars steht das:
      </form>

      <SCRIPT type="text/javascript">
      able(); // aufruf am ende der seite, damit felder gesperrt/freigegeben werden können => das netz mit doppeltem boden
      </script>

      N Tipp waran's liegen kann?

      Kommentar


      • #4
        okay, "true" war mein fehler ... die fehlenden ";" am ende der falses und trues ist deiner

        document.account.u_day.disabled=false;
        Kissolino.com

        Kommentar


        • #5
          Habs jetzt so geändert, haut aber immer noch nicht hin - alles ist disabled, egal ob value="1" oder value="0" bei set_profile checked ist...

          PHP-Code:
          <SCRIPT type="text/javascript">
          function 
          able()
           {
              if (
          document.account.set_profile.checked== true)
          //  if (document.formularname.set_profile[0].checked== true) // alternative

               
          {
                
          //document.account.elementname.disabled = false;  // felder freigeben
                
          document.account.u_day.disabled=false;
                
          document.account.u_month.disabled=false;
                
          document.account.u_year.disabled=false;
                
          document.account.u_plz.disabled=false;
                
          document.account.u_ort.disabled=false;
                
          document.account.u_text.disabled=false;
                
          document.account.u_pic.disabled=false;
               }
               else
               {
                
          //document.formularname.elementname.disabled = false;  // felder sperren
                
          document.account.u_day.disabled=true;
                
          document.account.u_month.disabled=true;
                
          document.account.u_year.disabled=true;
                
          document.account.u_plz.disabled=true;
                
          document.account.u_ort.disabled=true;
                
          document.account.u_text.disabled=true;
                
          document.account.u_pic.disabled=true;
               }

           }
          </
          script

          Kommentar


          • #6
            hast du das auch mal probiert?
            if (document.formularname.set_profile[0].checked== true)

            der value müsste eigentlich wurscht sein; der wird nur übertragen, wenn checked=true
            Kissolino.com

            Kommentar


            • #7
              grrr ... kleiner denkfehler ... das funzt:
              Code:
              <html>
              <head>
              </head>
              <SCRIPT type="text/javascript">
              function able()
               {
                 if (!document.account.set_profile.checked== true) // alternative
                   {
                    document.account.ergebnis.disabled=true;
                   }
                   else
                   {
                    document.account.ergebnis.disabled=false;
                   }
              
               }
              </script>
              <body>
              <form name="account" method="post">
              <input name="set_profile" type="radio" value="12" onchange="able();">
                feld: <input name="ergebnis" type="text" value="">
              <br>
              <script language="JavaScript" type="text/JavaScript">
              able();
              </script>
              </form>
              </body>
              </html>
              Kissolino.com

              Kommentar


              • #8
                Aah, es tut sich was...

                Mit
                if (document.account.set_profile[0].checked== true)
                kann ich von anfangan schreiben, session status zeig bei value="1" checked, wenn ich den radiobutton allerdings ändere kommt der disabled modus jedoch NICHT wieder...

                Kommentar


                • #9
                  1. siehe oben ^^ (bei 1 radiobutton)

                  2. wenn du mehrere radios hast, müssen alle mit onchange="able()" versehen werden, dann musst du das script wahrscheinlich aber erweitern,
                  um die vorher gefüllten felder wieder zu leeren => document.account.elementname.value = "";
                  Kissolino.com

                  Kommentar


                  • #10
                    so, ich habs jetzt so hinbekommen:

                    PHP-Code:
                    <SCRIPT type="text/javascript">
                    function 
                    able()
                     {
                        
                    //if (document.account.set_profile.checked== true)
                        
                    if (document.account.set_profile[0].checked == true// alternative

                         
                    {
                          
                    //document.account.elementname.disabled = false;  // felder freigeben
                          
                    document.account.u_day.disabled=false;
                          
                    document.account.u_month.disabled=false;
                          
                    document.account.u_year.disabled=false;
                          
                    document.account.u_plz.disabled=false;
                          
                    document.account.u_ort.disabled=false;
                          
                    document.account.u_text.disabled=false;
                          
                    document.account.u_pic.disabled=false;
                         }
                        if (
                    document.account.set_profile[1].checked == true)
                         {
                          
                    //document.formularname.elementname.disabled = false;  // felder sperren
                          
                    document.account.u_day.disabled=true;
                          
                    document.account.u_month.disabled=true;
                          
                    document.account.u_year.disabled=true;
                          
                    document.account.u_plz.disabled=true;
                          
                    document.account.u_ort.disabled=true;
                          
                    document.account.u_text.disabled=true;
                          
                    document.account.u_pic.disabled=true;
                         }

                     }
                    </
                    script
                    PHP-Code:
                    <tr>
                           <td class="style-2"><input type="Radio" name="set_profile" value="1" <? if($_SESSION['u_profile']== "jpg" OR $_SESSION['u_profile']== "gif" OR $_SESSION['u_profile']== "nop"){ echo "checked"; } ?> onclick="able()">&nbsp;Ja Klar!</td>
                          </tr>
                          <tr>
                           <td class="style-2"><input type="Radio" name="set_profile" value="0" <? if($_SESSION['u_profile']== ""){ echo "checked"; } ?> onclick="able()">&nbsp;Nein Danke.</td>
                          </tr>
                    Hab die Radiobuttons also auf onclick gesetzt.

                    Das eizigste Problem, welches jetzt noch besteht, ist dass er disabled nicht wegnimmt, wenn durch den Session status von anfang an schon
                    PHP-Code:
                    <tr>
                           <td class="style-2"><input type="Radio" name="set_profile" value="1" <? if($_SESSION['u_profile']== "jpg" OR $_SESSION['u_profile']== "gif" OR $_SESSION['u_profile']== "nop"){ echo "checked"; } ?> onclick="able()">&nbsp;Ja Klar!</td>
                          </tr>
                    checked ist, weißt Du wie ich das lösen kann?

                    Kommentar


                    • #11
                      dafür war eigentlich der aufruf AM ENDE der html-seite gedacht:
                      PHP-Code:
                      <script language="JavaScript" type="text/JavaScript">
                      able();
                      </
                      script
                      damit wird die fkt aufgerufen und einmal durchlaufen.
                      Kissolino.com

                      Kommentar


                      • #12
                        Ah, danke, hatte es beim testen weggenommen - sorry
                        Haut jetzt alles hin. mit set_vote werd ich dann genauso verfahren..
                        Und vielen Dank nochmal!

                        Kommentar


                        • #13
                          Brauche doch nochmal hilfe...

                          Wie mache ich denn das diese Radiobuttons
                          PHP-Code:
                          <tr>
                                 <td class="style-2"><input type="Radio" name="set_vote" value="1" <? if($_SESSION['u_vote']== "jpg" OR $_SESSION['u_vote']== "gif"){ echo "checked"; } ?>>&nbsp;Ja Klar!</td>
                                </tr>

                                <tr>
                                 <td class="style-2"><input type="Radio" name="set_vote" value="0" <? if($_SESSION['u_vote']== ""){ echo "checked"; } ?>>&nbsp;Nein Danke.</td>
                                </tr>
                          sich auch auf
                          PHP-Code:
                          <input style="border: 1px solid #7B7D7B;font-size: 8pt" type="File" name="u_pic" size="44" disabled
                          auswirken?

                          Zumal der file input ja auch von set_profile angesprochen wird, ich meine nicht das set_profile alles freigibt der change von set_vote zu unchecked aber den file input wieder sperrt, ich hoffe ich habe mich einigermassen verständlich ausgedrückt..?!

                          Kommentar


                          • #14
                            Re: Brauche doch nochmal hilfe...

                            Original geschrieben von westberlin
                            Zumal der file input ja auch von set_profile angesprochen wird, ich meine nicht das set_profile alles freigibt der change von set_vote zu unchecked aber den file input wieder sperrt, ich hoffe ich habe mich einigermassen verständlich ausgedrückt..?!
                            rembrandt? ägypten? wie meinen?
                            Kissolino.com

                            Kommentar


                            • #15
                              Also doch zu unverständlich...

                              Ok, das file input feld wird ja disabled mässig auch schon von set_profile angesprochen. Wie mache ich das jetzt, wenn ich auch über set_vote das gleiche fileinput feld ansprechen möchte?

                              Pseudo:

                              Wenn set_vote value="1" == checked dann inputfile freigeben
                              else
                              nicht freigeben

                              Wenn set_profile value="2" == checked dann inputfile freigeben
                              else nicht freigeben

                              wenn set_vote value="1" == checked OR set_profile value="1" == checked
                              dann inputfile freigeben
                              else (also wenn beide auf value="0" stehen)
                              nicht freigeben

                              Ich hoffe Du kannst damit was anfangen...

                              Kommentar

                              Lädt...
                              X