gpt4 book ai didi

javascript - 使用 Foundation Abide 提交表单两次

转载 作者:行者123 更新时间:2023-11-28 00:32:57 27 4
gpt4 key购买 nike

我正在根据 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>

最佳答案

这是 Abide in Foundation 的一个明显问题。

$("#ClientCreateForm).on('valid.fndtn.abide', function (event) { 更改为:$("#ClientCreateForm).on('valid' , function (event) { 解决了该问题,尽管 valid 已弃用。

此解决方案可在此处找到:https://github.com/zurb/foundation/issues/5392

关于javascript - 使用 Foundation Abide 提交表单两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28795145/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com