disabled wegnehmen wenn radion button == checked...

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


    • #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?

      Comment


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

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

        Comment


        • #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

          Comment


          • #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

            Comment


            • #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

              Comment


              • #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...

                Comment


                • #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

                  Comment


                  • #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?

                    Comment


                    • #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

                      Comment


                      • #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!

                        Comment


                        • #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..?!

                          Comment


                          • #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

                            Comment


                            • #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...

                              Comment

                              Working...
                              X