Jquery 单击“如果$.get返回值,则发出警报”;如果未返回值,则提交表单
如果单击“提交”按钮,请阻止默认操作,并查看“帐户名称”字段是否已在使用中。如果Jquery 单击“如果$.get返回值,则发出警报”;如果未返回值,则提交表单,jquery,form-submit,Jquery,Form Submit,如果单击“提交”按钮,请阻止默认操作,并查看“帐户名称”字段是否已在使用中。如果$.get()返回结果,请将结果通知用户。如果没有,请提交带有id=“添加账户表单”的表单 我的问题是我的else{}语句没有提交表单。单击submit时没有收到响应&没有返回值 此外,我还想更改代码的位置$(“#添加帐户\u表单”)。提交(..)而不是。单击()。但是,在脚本中稍后尝试提交表单时,这会导致问题吗 <script type="text/javascript"> $(
$.get()
返回结果,请将结果通知用户。如果没有,请提交带有id=“添加账户表单”
的表单
我的问题是我的else{}语句没有提交表单。单击submit时没有收到响应&没有返回值
此外,我还想更改代码的位置$(“#添加帐户\u表单”)。提交(..)
而不是。单击()
。但是,在脚本中稍后尝试提交表单时,这会导致问题吗
<script type="text/javascript">
$(document).ready( function () {
$("#submit").click( function () {
var account_name = $("input[name=account_name]").val();
$.get(
"'.url::site("ajax/check_account_name").'",
{account_name: account_name},
function(data){
if(data.length > 0){
confirm( "The account name you entered looks like the following:\n"
+data+
"Press cancel if this account already exists or ok to create it."
);
}else{
$("#add_account_form").submit();
}
});
return false;
});
});
</script>
<p>
<input type="submit" id="submit" class="submit small" name="submit" value="Submit" />
</p>
</form>
谢谢你的帮助@Dan猜一猜,但是也许data.length总是正确的 我会尝试返回一个布尔值或一点 然后: 希望有帮助:) 编辑:误读问题 可能发生的情况是,当单击“提交”按钮时,表单会在单击后提交。换句话说,您可能必须捕获form.submit事件:
$('form').submit(function() {
var submitForm = true;
var account_name = $("input[name=account_name]").val();
$.get(
"'.url::site("ajax/check_account_name").'",
{account_name: account_name},
function(data){
if(data.length > 0){
if (!confirm("The account name you entered looks like the following:\n"
+data+
"Press cancel if this account already exists or ok to create it."
)) {
submitForm = false;
}
});
if (!submitForm) {
return false;
}
});
@丹:谢谢,但我对返回的数据没有问题。data.length工作正常-它总是返回true,这就是我这样使用它的原因。我的问题来自
$('#表单id').submit()什么也没做。啊,我为误读道歉。查看我的编辑:)-希望它们有意义/帮助谢谢你的帮助。如果var submitForm在开始时未设置为false,则$.get()将不起作用,并且不会“返回数据”。但是,如果将其设置为false,$.get()可以工作,但表单不能。我真的尝试过这种方法……有没有想过会是什么原因呢?好吧,我的问题是$get()是在!提交表单。。。这意味着它永远不会返回false。因此,将get()改为ajax()并将async改为false将允许在决定如何处理信息之前对其进行处理。谢谢@Dan!这是什么?$(“#添加#u账户_表格”)。提交()
应该完全执行!?;-)乍一看,如果第一次尝试失败,您希望重新提交表单!不是吗!?但是,如果您的表单第一次出现错误,为什么下一次它会工作!?;-)
if(data) {
confirm();
} else {
$('#form-id').submit();
}
$('form').submit(function() {
var submitForm = true;
var account_name = $("input[name=account_name]").val();
$.get(
"'.url::site("ajax/check_account_name").'",
{account_name: account_name},
function(data){
if(data.length > 0){
if (!confirm("The account name you entered looks like the following:\n"
+data+
"Press cancel if this account already exists or ok to create it."
)) {
submitForm = false;
}
});
if (!submitForm) {
return false;
}
});