jQuery PHP表单提交后如何才能弹出自己写的提示层?

我的表单提交之后会在PHP进行判断,成功和错误的提示样式我已经写完了,但是现在一提交就马上弹出层,提交时表单自动刷新,然后那个层也就一起跟着刷没了,不会Ajax那如何就觉这个问题,求大神解答!

您好,据我所知,要通过后台验证表单实现无刷新前后台交互访问,目前只有使用ajax
使用jQuery后,ajax使用非常简单。
贴上一段代码供您参考:
首先在form里面添加<form onsubmit="return check();"></form>
再定义函数check();
function check(){
var name = $("input[name='name']").val();
if(name == ''){
alert(XXXX不能为空');
$("input[name='cat_name']").focus(); //文本框自动聚焦
return false; //返回假后,并没有访问后台,这是前端验证,多个验证可继续加else if
}else{ //前端验证通过后,就用ajax将数据传到后台验证
$.ajax({
type: 'post', //用post方法传数据
url: 'php后台文件路径',
data: $('#fom').serialize(), //序列化表单,表单所有的数据都会提交到后台
success: function(data){ //访问成功后,后台文件里所有输出的数据都会变成data,可以是数组和字符串,验证表单建议后台:echo '1',那么data就是1,后台echo 什么,data就是什么
if(data == 1){
alert('恭喜,添加成功!',{time:3000,icon:1});
}else if( data == 22 ){
alert('提交失败,请填写完整!');
}else if( data == 3){
alert('提交失败!');
}
}

});
return false; //阻止表单跳转 必须要有
}
}追问

我的PHP, 按钮怎么还点不了了,我想提交不刷新

<form action="" method="post">

<input id="msg_confirm" type="submit" value="go" />

</form>

追答

按钮点不了就对了,你要慢慢调试,看ajax有没提交成功,前台success返回的数据你要用来判断或者处理
你这段代码里没有写success回调,这是后台请求后返回前台的数据,希望你对ajax再深入了解下,多看看手册

追问

我是用另一个PHP语句判断表单是否提交成功然后弹出层,前台我迫切想知道的是如何在点提交按钮的情况下不刷新页面,后台判断成功失败弹出层,然后点击那个层上面的按钮跳转...

能给我个代码就更好了,之后我会好好学习这方面的,烦请大神了...

追答

亲,我第一段代码说的很祥细了,后台成功了就echo 1或者其它,失败了就echo 2或者其它,前台ajax不是有success吗
你后台if(!$result){
这是不成功吧,就echo 2或者其它;

exit();

}else{
这是成功吧,就echo 1或者其它;

}
前台success方法一定要有,这是请求成功后返回你后台输出的数据,你要根据这个数据在前台判断是否成功
success: function(data){ //访问成功后,后台文件里所有输出的数据都会变成data,可以是数组和字符串,验证表单建议后台:echo '1',那么data就是1,后台echo 什么,data就是什么
if(data == 1){
alert('恭喜,添加成功!‘); //这是成功了,你在里面写js代码
}else if( data == 22 ){
alert('提交失败,请填写完整!'); //这是失败了,同样写js代码
}else if( data == 3){
alert('提交失败!');
}

具体的你花点时间研究下,过程中要不断调试,比如ajax有没访问后台成功,后台有没数据返回出来,一时说不清的,加油,碰到问题耐心点,多摸索下会解决的

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网