如何在成功输入时使“返回TRUE”
How to make `return TRUE` on successful input
我有一个注册表,它用JS和PHP验证用户的电子邮件,然后检查数据库以查看电子邮件是否存在。使用JSON,所有事情都发生在一个页面上。
我需要RETURN TRUE
的成功结果,并将我带到注册序列的下一页。我在case: success
下尝试了window.location
,它将我带到正确的页面,但它不会带过我表单中的隐藏字段。
有人能给我一个应该如何执行的想法吗?
$(document).ready(function(){
$('#newsletter-signup').submit(function(){
//check the form is not currently submitting
if($(this).data('formstatus') !== 'submitting'){
//setup variables
var form = $(this),
formData = form.serialize(),
formUrl = form.attr('action'),
formMethod = form.attr('method'),
responseMsg = $('#signup-response');
//add status data to form
form.data('formstatus','submitting');
//show response message - waiting
responseMsg.hide()
.addClass('response-waiting')
.text('Please Wait...')
.fadeIn(200);
//send data to server for validation
$.ajax({
url: formUrl,
type: formMethod,
data: formData,
success:function(data){
//setup variables
var responseData = jQuery.parseJSON(data),
klass = '';
//response conditional
switch(responseData.status){
case 'error':
klass = 'response-error';
break;
case 'success':
klass = 'response-success';
//return true; I tried this but it fails.
break;
}
//show reponse message
responseMsg.fadeOut(200,function(){
$(this).removeClass('response-waiting')
.addClass(klass)
.text(responseData.message)
.fadeIn(200,function(){
//set timeout to hide response message
setTimeout(function(){
responseMsg.fadeOut(200,function(){
$(this).removeClass(klass);
form.data('formstatus','idle');
});
},3000)
});
});
}
});
}
//prevent form from submitting
return false;
});
});
您是否可以在成功时删除提交处理程序,并让表单提交为"真实"?
更换
//return true; I tried this but it fails.
带
$('#newsletter-signup').unbind('submit').submit();
旁注:从成功回调返回whatever不会使表单"做"任何其他事情。ajax函数完成后,return false;
语句已经执行完毕。您需要再次重新提交表单,这次没有ajax。
将asyncronous选项设置为false,并设置ajax函数的结果var:
var result = false;
$.ajax(
{
...
async: false,
...
success: function(response)
{
...
...
result = true;
}
});
return result;
相关文章:
- 对于loop.if-仅在经过所有间隔后返回true
- 如果函数返回True,则显示Javascript按钮
- Javascript If else 只返回 TRUE 或只返回 FALSE
- 过滤器返回true或false
- 我对“;返回true"嵌套函数内部;t工作
- 如何在成功输入时使“返回TRUE”
- 检查一个元素是否有一个类与另一个类总是返回true
- JavaScript函数未返回true
- 如果URL中有任何字符串变体匹配,则返回true
- 如何使以下函数返回true或false
- 使用“in”关键字检查 0 始终返回 true
- hasOwnProperty 在对照父对象属性进行检查时返回 true
- 为什么 isNaN 总是返回 true
- _.数组中的每个查找值都返回 true 或 false.使用下划线 JS
- 错误地返回true
- 为什么asp:LinkButton服务器端事件没有'当clientClick返回true时,t激发
- 阻止表单提交 javascript 为什么有一个明显的错误语句返回 true
- Node js命令器args返回true而不是值
- 如何将html表单与php链接,以便在例如单击按钮时返回true
- 从OnClientClick调用函数时,在JavaScript中返回true