2017-04-12 14 views
1

を提出削除救う私が作る提出入力タイプから除いて、私は私のフォーム内のすべてのデータを取得することができます私のコードjQueryのAjaxのPOSTここ

<form method="post" role="form" id="form" enctype="multipart/form-data" autocomplete="off"> 

<input type="submit" id="save" name="save" value="Simpan Data Client" class="btn" style="font-size:0.7em; letter-spacing:1px; color:#666666" /> //For save 
<input type="submit" id="delete" name="delete" value="Delete Client" class="btn-delete" style="font-size:0.7em; letter-spacing:1px; color:#666666; padding:8px 15px" /> //For Delete 
</form> 
<script type="text/javascript"> 
$("#form").on("submit",function (e) 
{ 
    e.preventDefault(); 
    var formData = new FormData($(this)[0]); 
    $.ajax(
    { 
     url:'Master/Database/Client/RunClient.php', 
     type: 'POST', 
     data: formData, 
     contentType: false, 
     enctype: 'multipart/form-data', 
     processData: false, 
     beforeSend:function() 
     { 
     document.getElementById("loading").style.display = ""; 
     }, 
     complete:function() 
     { 
     //document.getElementById("loading").style.display = "none"; 
     }, 
     success:function(result) 
     { 
     document.getElementById("info").innerHTML = result; 
     var n = result.search("error"); 
     if(n < 0) /*document.getElementById("form").reset();*/ $(".input").val(''); 

     } 
    }); 
}); 
</script> 

です。 私のRunClient.phpでisset($ _ POST ["save"])とisset($ _ POST ["delete"])を使用することはできません

+1

それが 'に追加されていないので、あなたは、AJAXリクエストでボタンデータを取得することはありませんデフォルトではFormDataです。必要な場合は、それを 'append()'することができます –

+0

ありがとうございます私は今選択して単一のボタンを使用 –

答えて

1

別の機能を作成し、どのボタンがクリックされたか。私はボタンで入力し、変更を送信避けるために使用してPHPファイル内

$('#save').click(function() { 
    submitForm('save'); 
}); 
$('#delete').click(function() { 
    submitForm('delete'); 
}); 
function submitForm(submittype) { 
    var formData = new FormData(); 
    //push your form data to formData and add the submittype 
    formData['type'] = submittype 
} 

$submittype = $_POST['type']; // 'save' or 'delete' 
if($submittype == 'save') { 
//do save action 
} 
if($submittype == 'delete') { 
//do delete action 
} 
+0

私はそれを得るが、私のフォームデータを取得する方法は? –

+0

には多くの方法があります。 - https://api.jquery.com/serialize/ '$( '#myForm')。serialize()'または '$( '#myForm')。serializeArray()'など –

+0

これを参照してください - これを見てください - https: //developer.mozilla.org/en-US/docs/Web/API/FormData/Using_FormData_Objects –

0

<button type="button" id="save">SUBMIT</button> //For save 

<script type="text/javascript"> 
$("#save").on("click",function (e) 
{ 

}); 
</script> 

誰かがjavascriptフォームを非公開にすると、送信されません。

そして、あなたはこのようにデータを送信することができます:

data: { 
    foo: 'var' 
    foo2: 5 
}, 

EDIT。申し訳ありませんがあなたの質問を忘れました。 javascriptでどのボタンをクリックするかだけを制御し、隠しフィールドに値を割り当てます。

0

'$( "#フォームは")。( "提出"、機能(E)に'

$( "#保存")で機能を置き換えます。((機能をクリック){

});

$ {

})( "#削除"()関数を(クリックしてください。);

+0

もし私がこれをすれば2つのファイルを実行する必要がありますか? 1は追加/更新用、もう1つは削除用ですか? –