【发布时间】:2015-03-01 15:11:58
【问题描述】:
我正在运行基于 Foundation 的 Abide 功能在某种形式上是否有效的脚本。当它由于某种原因有效时,表单会提交两次?为什么?
我对两个单独的字段有两个单独的 ajax 调用,因为它们都需要检查唯一性。如果它们都是唯一的,则表单需要提交一切都按预期进行,但是表单会被提交两次。
我尝试了.submit() 的两个版本,其中第一个版本根本不允许提交表单:$("#ClientCreateForm").submit(); 所以我找到了一个先前的问题并将其更改为:$("#ClientCreateForm")[0].submit(); 现在它确实提交了只是两次。
这是我的代码:
$("#ClientCreateForm").on('valid.fndtn.abide', function (event) {
var number = $("input[name='number']").val();
var dataString = 'number='+number;
$.ajax({
type: "POST",
url: "/bamboo/panda/actions/check_number/",
data: dataString,
success: function(data) {
var data = data.trim();
if(data == '1')
{
var email = $("input[name='email']").val();
var EdataString = 'email='+email;
$.ajax({
type: "POST",
url: "/bamboo/panda/actions/check_email/",
data: EdataString,
success: function(Edata) {
var Edata = Edata.trim();
if(Edata == '1')
{
$("#ClientCreateForm")[0].submit();
}
else
{
$(".email-field").attr('class', 'number-field small-3 columns error');
$(".email-field .error").html('Must be a unique email');
return false;
}
}
});
}
else
{
$(".number-field").attr('class', 'number-field small-3 columns error');
$(".number-field .error").html('Must be a unique number');
return false;
}
}
});
event.preventDefault();
提交表单的代码是 HTML 格式,如下所示:
<fieldset>
<legend>Form Actions</legend>
<input type="submit" value="Create Client" name="MyClientSubmit" class="button small success pull-right">
</fieldset>
【问题讨论】:
-
提交按钮的代码是什么?
-
检查更新的问题。
标签: javascript php jquery ajax forms