2017-02-24 111 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」或第二個按鈕,但是第一個按鈕警報不顯示任何值錯誤? –