2017-02-24 7 views
0

私は問題があります。
jQueryの検証でフォーム入力を作成し、Ajaxを使用して入力しました。
私は1つのサブミットハンドラを使用しても問題はありませんが、2つのボタンを使ってどうすればできますか?2つのボタンを持つ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 "'を実行します。 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. BTNが 3.アクセスをisclickedときbtnClickedが変更されていることをウルでこのbtnClicked変数はハンドラ

を提出するようonlclick追加し、コードを次のようにそれは、HTMLマークアップで 2を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"、またはSecond Buttonでのみ動作しますが、最初のボタンアラートでは値が表示されません。 –

関連する問題