重置onclick所以ajax脚本不使用该值

时间:2012-06-25 20:03:12

标签: c# javascript jquery ajax asp.net-mvc

我有一个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();" />
    }

1 个答案:

答案 0 :(得分:1)

点击后,您可以删除提交按钮的value属性:

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

或者在不使用onclick属性但不使用jQuery订阅.click()处理程序的情况下不显眼地执行此操作:

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

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

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

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