2017-02-24 112 views
0

我有一个问题。
我已经创建了一个使用jQuery验证的表单输入,并使用Ajax提交它。
我使用一个提交处理程序没有问题,但怎么能使用两个按钮?Jquery提交两个按钮的处理程序?

按钮

<table border="0" align="center" cellpadding="1" cellspacing="0"> 
    <tr> 
     <td align="center"> 
      <input type="submit" value="SAVE CONTINUE" name="SC" id='SC' class="ui-input-btn ui-btn ui-shadow" data-role="button"> 
     </td> 
     <td align="center"> 
      <input type="submit" value="SAVE FINISH" name="SF" id='SF' class="ui-input-btn ui-btn ui-shadow" data-role="button"> 
     </td> 
</table> 

行动

$(document).ready(function(){ 
    checkConnection(); 
     $("#FORMX").validate({ 
       //errorClass:'myClass', 
       rules: { 
        PRODUK: { 
         required: true 
         //NOSYMBOL: false 
        }, 
        SHIFT:{ 
         required: true 
        } 
       }, 
       messages: { 
        PRODUK: { 
         required: "Barang belum terisi" 
        }, 
        SHIFT:{ 
         required: "Shift belum dipilih" 
        } 
       }, 
       submitHandler: function(form) { 
        $.ajax({ 
         type:"POST", 
         url: "adonan_action.php", 
         dataType: "json", 
         data: $("#FORMX").serialize() + "&KOPLO=tipe", 
         success: function(data){ 
          //alert(data); 
          //if($.trim(php_script_response) == "sukses"){ 
          if(data.status == "sukses"){ 
           alert('Input Berhasil'); 
           //window.location='logout.php'; 
          } 
          else if(data.status == 'gagal'){ 
           alert("Error on query!"); 
          } 
         }, 
        });//end ajax 
       } 
      });//end validate 
     });//end ready function 

我怎样才能处理按钮id="SF"
我已经尝试过这样,它不起作用。

submitHandler: function(form) { 
    $("#SC").on("click", function(){ 
     var tipe = "SC"; 
    }); 
    $("#SF").on("click", function(){ 
     var tipe = "SF"; 
    }); 
    $.ajax({ 
     type:"POST", 
     url: "adonan_action.php", 
     dataType: "json", 
     data: $("#FORMX").serialize() + "&KOPLO=tipe", 
     success: function(data){ 
      //alert(data); 
      //if($.trim(php_script_response) == "sukses"){ 
      if(data.status == "sukses"){ 
       alert('Input Berhasil'); 
       //window.location='logout.php'; 
      } 
      else if(data.status == 'gagal'){ 
       alert("Error on query!"); 
      } 
      }, 
     });//end ajax 

所有我需要的是从按键捕获不同id或价值观,我会用Ajax发送到另一个页面。
任何人都可以帮忙吗?

+0

您应该将按钮的id代替传递给窗体,而不是单击其中的任何一个。在这些函数内部做'var tipe'将不允许你访问它们。无论如何,如果你想访问'tipe',你可以使用'data:$(“#FORMX”)。serialize()+“&KOPLO”+ tipe“'而不是你现在使用的'KOPLO'作为字符串' tipe' –

回答

1

我必须解决这个问题,这样

$("#SC").on("click", function(){ 

       //var BTN = "SC"; 

       if($("#FORMX").valid()){ 
        $.ajax({ 
           type:"POST", 
           url: "produksi_action.php", 
           dataType: "json", 
           data: $("#FORMX").serialize() + "&KOPLO=SC", 

           success: function(data){ 

            alert(data); 
            //if($.trim(php_script_response) == "sukses"){ 

            if(data.status == "sukses"){ 
             alert('Input Berhasil'); 

            } 
            else if(data.status == 'gagal'){ 
             alert("Error on query!"); 
            } 
           },error:function(dt){ 
            alert("error"); 
           } 


          });//end ajax 
       } 
       else{ 

        alert('Tolong Lengkapi Kolom yang Kosong..!'); 

       } 






      });//end click 



      $("#SF").on("click", function(){ 

       //var BTN = "SC"; 

       if($("#FORMX").valid()){ 
        $.ajax({ 
           type:"POST", 
           url: "produksi_action.php", 
           dataType: "json", 
           data: $("#FORMX").serialize() + "&KOPLO=SF", 

           success: function(data){ 

            alert(data); 
            //if($.trim(php_script_response) == "sukses"){ 

            if(data.status == "sukses"){ 
             alert('Input Berhasil'); 

            } 
            else if(data.status == 'gagal'){ 
             alert("Error on query!"); 
            } 
           },error:function(dt){ 
            alert("error"); 
           } 


          });//end ajax 
       } 
       else{ 

        alert('Tolong Lengkapi Kolom yang Kosong..!'); 

       } 






      });//end click 

没有需要提交处理。

谢谢

0

从下面的代码,你可以找到哪个按钮被点击。这是你想要的? 1.创建一个全局变量,在下面的代码它btnClicked 2.在HTML标记,添加onlclick使btnClicked改变时BTN isclicked 3.访问乌尔这个btnClicked变量提交处理

请参阅下面的代码! !

submitHandler: function(form) { 
 
    alert(btnClicked); //Here in thi variable you can find the id of the btn clicked :) 
 
    $.ajax({ 
 
     type: "POST", 
 
     url: "adonan_action.php", 
 
     dataType: "json", 
 
     data: $("#FORMX").serialize() + "&KOPLO=tipe", 
 
     success: function(data) { 
 
     //alert(data); 
 
     //if($.trim(php_script_response) == "sukses"){ 
 
     if (data.status == "sukses") { 
 
      alert('Input Berhasil'); 
 
      //window.location='logout.php'; 
 
     } else if (data.status == 'gagal') { 
 
      alert("Error on query!"); 
 
     } 
 
     }, 
 
    }); //end ajax
<script> 
 
    var btnClicked = ""; 
 
</script> 
 
<table border="0" align="center" cellpadding="1" cellspacing="0"> 
 
    <tr> 
 
    <td align="center"> 
 
     <input type="submit" value="SAVE CONTINUE" name="SC" id='SC' onclick="btnClicked = 'SC'" class="ui-input-btn ui-btn ui-shadow" data-role="button"> 
 
    </td> 
 
    <td align="center"> 
 
     <input type="submit" value="SAVE FINISH" name="SF" id='SF' onclick="btnClicked = 'SF'" class="ui-input-btn ui-btn ui-shadow" data-role="button"> 
 
    </td> 
 
</table>

+0

嗨,请尝试您的建议,仅适用于id =“SF”或第二个按钮,但是第一个按钮警报不显示任何值错误? –