我有一个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();" />
}
答案 0 :(得分:1)
点击后,您可以删除提交按钮的value
属性:
function submitonce() {
$('#clicked').removeAttr('value');
}
或者在不使用onclick
属性但不使用jQuery订阅.click()
处理程序的情况下不显眼地执行此操作:
$(function() {
$('#clicked').click(function() {
$(this).removeAttr('value');
});
});
或者您可能不想删除该按钮的value
属性,而是将其设置为空或其他内容:
$('#clicked').val('');
由于这是一个提交按钮,您可能希望通过从其单击处理程序返回false来取消其提交表单的默认操作(我的第二个不引人注目的jQuery示例)。