0

我有一个 beginform,它通过 ajax 脚本自动将所有内容发送到控制器。问题是我在表单中有一个按钮,每次点击应该只发送一次它的值。我似乎无法区分其余的自动数据。

目标:单击一次按钮后,我希望值 10(来自按钮)停止发布到控制器。

AJAX 功能(将所有数据提交给控制器)

 function toconroller() {
    $.ajax({
        type: 'POST',
        url: this.action,
        data: $('form').serialize(),
        success: function (result) {
            $('#box').html(result.info);
            }
        });
    }

按钮功能

 Function submitonce() { 
//I want to only submit value of button once.
 }

用按钮开始

    @using (Html.BeginForm()) 
    { 
    <input id="data" onkeyup="tocontroller();">
   <input type="submit"  name="clicked" id="clicked" value="10" onclick="submitonce();" />
    }
4

1 回答 1

1

您可以在单击时删除value提交按钮的属性:

function submitonce() { 
    $('#clicked').removeAttr('value');
}

或者不使用属性但使用 jQueryonclick订阅处理程序而不显眼地做到这一点:.click()

$(function() {
    $('#clicked').click(function() {
        $(this).removeAttr('value');
    });
});

value或者您可能希望将其设置为空或其他内容,而不是删除按钮的属性:

$('#clicked').val('');

由于这是一个提交按钮,您可能希望通过从其单击处理程序返回 false 来取消其提交表单的默认操作(我的第二个不显眼的 jQuery 示例)。

于 2012-06-25T20:10:03.463 回答