目前我的表单正在通过 ASP.NET 以及 AJAX 提交,但我只希望它通过 AJAX 提交(而且我不想使用 Ajax.BeginForm,因为它很臭)。
请注意,我将表单中的数据或多或少地剥离为仅涉及的元素。
@using (Html.BeginForm("Action", "Controller", FormMethod.Post))
{
<div style="width:275px;">
<a href="#" id="edit_licenses" class="grayBtn left">Edit</a>
<a href="#" id="cancel_licenses" style="display:none;" class="grayBtn left">Cancel</a>
<input id="submit_licenses" type="submit" style="display:none;" value="Save" class="redBtn right" />
</div>
}
<br />
</div>
<script type="text/javascript">
$('#edit_licenses').click(function () {
swap_licenses(false);
return false;
});
$('#cancel_licenses').click(function () {
swap_licenses(true);
$('form').resetForm();
return false;
});
$('form').submit(function (e) {
if ($(this).valid()) {
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function (result) {
}
});
}
return false;
});
var swap_licenses = function (bool) {
$('.licenses').each(function () { $(this).attr('disabled', bool); });
$('#submit_licenses, #edit_licenses, #cancel_licenses').toggle();
}
</script>