【发布时间】:2016-07-01 07:20:18
【问题描述】:
服务器端方法有效,AJAX 函数设置data-duplicated="false" 但$this.submit(); 无效。要真正提交表单,我需要再次按下 sumbit 按钮。
<form data-url="/.../" data-duplicated="true" onsubmit="return checkForDuplicates(this)">
<!-- Form inputs -->
</form>
function checkForDuplicates(e) {
var $this = $(e);
var url = $this.attr('data-url');
if ($this.attr('data-duplicated') === 'true') {
$.ajax({
url: url,
type: 'POST',
data: data,
success: function (result) {
if (result === true) {
$this.attr('data-duplicated', 'false');
$this.submit();
} else {
// warrning
}
}
});
return false;
}
return true;
}
我应该怎么做才能真正提交表单?
【问题讨论】:
-
试试这个:
$this[0].submit(); -
如果您使用的是
ajax,为什么要提交form? -
@IsmailRBOUH - this[0].submit 不是函数。
-
@Rayon - 我想检查是否存在重复项,如果存在我不想提交表单。否则,应提交。
-
@Bacchus,那你说的是错误的方法。
标签: javascript jquery ajax forms