[英]Submit form via ajax doesn't work on dropdown index change
這是有線情況。 這是我的表格:
using (Html.BeginForm("Action", "Controller", FormMethod.Post, new { @class = "myForm" }))
{
<select name="statusId" onchange="this.form.submit();" class="selectField">
<option value="-1">-- Pick Item --</option>
<option value="1">Item XYZ</option>
</select>
<button>SUBMIT</button>
}
我有一個簡單的ajax調用:
$(".myForm").on("submit", function (event) {
event.preventDefault();
var url = $(this).attr("action");
var formData = $(this).serialize();
$.ajax({
url: url,
type: "POST",
data: formData,
dataType: "json",
success: function (response) {
alert(response);
}
});
});
當我點擊按鈕時,它工作正常(使用ajax)。
但是我不需要按鈕上的ajax,而在選擇索引更改時則需要它。
當我更改選定的索引時,將其發布為操作方法,而不是通過ajax。
我在這里想念什么?
有什么區別?
這是所有工作所需的所有代碼:
$(function() {
$('button').on('click', function() {
$('.myForm')[0].submit();
});
$('select[name="statusId"]').on('change',function() {
$('.myForm').triggerHandler( 'submit' );
});
$(".myForm").on("submit", function() {
var url = $(this).attr("action");
var formData = $(this).serialize();
$.ajax({
url: url,
type: "POST",
data: formData,
dataType: "json",
success: function (response) {
alert(response);
}
});
});
});
您無需在select
元素中使用內聯JS:
<select name="statusId" class="selectField">
注意:如果頁面上還有其他按鈕,則可能需要為button
提供更具體的選擇器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.