Announcement

Collapse
No announcement yet.

Jquery Problem mit RadioButton, Textarea und Button

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

  • Jquery Problem mit RadioButton, Textarea und Button

    in einem der og. Tabs habe ich folgende Situation:
    PHP Code:
    <div id="tabseinzel-1" >
    <!--Kostformen-->
            <div id="tabkost">
                     <span><label><u>Kostform</u></label></span>
        
        <form method="post" id="fo_kostform" >
        <?php
     
    echo "<input name=\"buch\" type=\"hidden\" value= \"".$_POST['buch']."\">\n";
           echo 
    "<input name=\"abteilungID\" type=\"hidden\" value=\"".$_POST['abteilungID']."\">\n";
                 echo 
    "<input name=\"raumID\" type=\"hidden\" value=\"".$_POST['raumID']."\">\n ";
                     echo 
    "<input type=\"hidden\" name=\"angaben\" id=\"kostbuchen\" value=\"kost_buchen\">\n";
                          echo 
    "<input type=\"hidden\" name=\"bel_status\" id=\"bel_status\" value=\"belegt\">";
                                foreach(
    $kostformen as $kost)
                                        {
                                                     
    $kostf = ($kost['kostID'] == NULL)? 'kost1':$kost['kostID'] ;
                                                    
    $select = ($kostf == $gef_daten[0]['kostID'])?'checked':false;
                                    echo 
    "<label><input type=\"radio\" id=\"kostform\" name=\"kostform\" value=\"".$kost['kostID']."\" ".$select." >".$kost['kostform']."</label><br/>\n";

                                        
    $select false;
                                          }
              echo 
    "<strong>Bemerkung </strong><br>";
                echo 
    "<textarea cols=\"15\" rows=\"4\" name=\"kostformzusatz\">".$gef_daten[0]['kostformzusatz']."</textarea><br/>\n ";
              echo 
    "<strong>K&uuml;hlfachnummer </strong><br>";
                    echo 
    "<textarea cols=\"15\" rows=\"4\" name=\"kf\">".$gef_daten[0]['kf']."</textarea><br/>\n ";
                     echo 
    "<p><label style=\"display:none;\"for=\"kostform\" class=\"error\">Bitte eine Kostform <br>ausw&auml;hlen!</label></p>";
                       echo 
    " <button class=\"ui-button ui-button-text-only ui-widget ui-state-default ui-corner-all\" id=\"bu_kostform\">
                            <span class=\"ui-button-text\">Kostform buchen</span>
                            </button>"
    ;

              echo
    "</form>\n";
          
    ?>
            
    </div>
    Also radiobutton, textarea, und button.

    ich möchte mit einem klick des Radiobutton, Änderung der Eintragung in dem Textarea oder Buttonklick, ein event auslösen, dass mir einen Datenbankeintrag mit dem veränderten Wert ausführt.

    beim buttonklick funktioniert das, aber bei den anderen Elementen nicht.

    Buttonklick:
    Code:
    $("#bu_kostform").click(function(){
                       eintragcheck('kostform');
                     });

    Code:
    function eintragcheck(status){.....
    
    if(status == 'kostform'){
    
     $("#fo_kostform").validate({
     	
    
     
    		submitHandler: function(form) {
    		    var options= {    
    					url:'buchen.php',
    					type:'POST',
    					datatype:'html',
    					contentType: "application/x-www-form-urlencoded;charset=utf-8",
    					target:aktiv_tab,
                                            cache: false,
    					success: zeigeErgebnis,
    					beforeSubmit:  zeigeRequest
    					  }
    			$(form).ajaxSubmit(options);
    			
    
                           			
                        },
                        rules: {
    			buch: "required",
    			raumID:"required",
                            abteilungID:"required",
                            kostform:"required"
                    }
    		
    		
    	});                                           
         }
    so erhalte ich meinen gewünschten Effect.
    jedoch bei dem Radiobutton und Textarea habe ich ein Problem :
    Code:
    $("input[type='radio']").on('click',function() {
                      var selectedID = this.id;
                       alert(selectedID);
                      var selectedvalue = $(this).val();
                      alert(selectedvalue);
                        $("#bu_"+selectedID).submit();
                           eintragcheck(selectedID);
                            
                 });
    beim Buttonclick wird der alert() ausgelöst und er zeigt mir die entsprechende ID und im Zweiten den Value
    sonst passiert nichts....
    klicke ich den Button jetzt nochmal an: alert, alert, submit und funktion werden durchgeführt.
    wo liegt hier mein Denkfehler?

  • #2
    Ich sehe nicht, dass die Textarea mit einem Ereignishandler an irgendwas gebunden ist. Der Buttonklick führt wohl direkt die Methode mit dem Ajax-Request aus. Er sollte keine alerts anzeigen, da er ja kein Radiobutton ist Die Radiobuttons die zeigen vorher noch ein paar alerts an.
    Christian

    Comment


    • #3
      den texarea habe ich herausgenommen. ich sitze jetzt schon einige Zeit an dem Problem.
      Code:

      $("input[type='radio']").on('click',function() {
      var selectedID = this.id;
      alert(selectedID);
      var selectedvalue = $(this).val();
      alert(selectedvalue);
      $("#bu_"+selectedID).submit();
      eintragcheck(selectedID);
      der Code funktioniert, aber erst nachdem ich den radiobutton das zweitemal angeklickt habe! ( nicht doppelklick)

      Comment


      • #4
        Wozu "on"? Warum nicht direkt "click"?
        Christian

        Comment

        Working...
        X