簡體   English   中英

通過ajax提交表單不適用於下拉索引更改

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM