[英]on submit of dynamically generated form, find which submit button was clicked
我有多種形式,這些形式是由模板引擎在運行時動態生成的,為了在提交時生成ajax請求,我使用了“ on”方法來委托事件。
$("#friendRequestsList").on("submit", "[id^=friendReqResponse-form]", function(){
var form = this;
$(form).ajaxSubmit({
url:'URL',
type:'post',
dataType: 'json',
success: function(data) {
DO SOMETHING
}
});
return false;
});
該表單有2個提交按鈕,我需要檢測單擊了哪個按鈕,並將此信息傳遞給ajax請求。 但是我很難知道單擊了表單中的哪些提交輸入,因為它們也是動態生成的。 有想法嗎?
希望對您有幫助:
$("#friendRequestsList").on("submit", "[id^=friendReqResponse-form]", function(){
var submit1 = $(this).attr('value');
var formData = new FormData();
formData.append('submit1', submit1);
$.ajax({
url:'URL',
type:'post',
data:formData,
dataType: 'json',
success: function(data) {
DO SOMETHING
}
});
return false;
});
在康納斯建議使用click事件而不是Submit的建議之后,我設法獲得了Submit按鈕,如下所示:
$("#friendRequestsList").on("click", "[id^=submit1], [id^=submit2]", function(e) {
var input = this;
var form = $(input).parent();
$(form).ajaxSubmit({
url:'URL',
type:'post',
dataType: 'json',
success: function(data) {
DO SOMETHING
}
});
e.preventDefault()
});
當然,如果我的表單具有輸入字段,這將無法很好地工作,因為它不會在通過Enter鍵提交表單時被觸發。 另外,您仍然需要將輸入標識信息附加到ajax請求中。
我通過添加
data: {submit:input.value},
到ajaxSubmit設置
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.