首页 新闻 搜索 专区 学院

我用ajax写了一个注册表单,ajax执行完后页面整体刷新,问题在哪里?

0
悬赏园豆:10 [已解决问题] 解决于 2018-06-25 19:05

代码:

html元素:

<label for="">验证手机</label><input class="tel" type="text"/></br>
<label for="">短信验证码</label><input class="code" type="text"/><button class="getCode">获取验证码</button></br>

js代码:
$('.getCode').on('click',function(){

var _this=$(this);
// 禁止重提交
if(_this.is('.disabled')) return;


var tel=$('.tel').val();
var re=/^[1][3,4,5,7,8][0-9]{9}$/;
$.ajax({
url:'getCode.php',
type:'post',
dataType:'text',
data:'tel='+tel,
timeout:5000,
beforeSend:function(){
if(!re.test(tel)){
// alert(re.test(tel));
$('p').text('手机号码无效!').show().delay(1500).fadeOut();
return false;
}

// 禁用状态
_this.addClass('disabled');
var seconds = 60;
var t = setInterval(function () {
// 倒计时
_this.val(--seconds + '秒后再次获取');
if(seconds <= 0) {
clearInterval(t);
// 开启
_this.removeClass('disabled');
_this.val('获取验证码');
}
}, 1000);
},
success:function (data) {
console.log(data);
code=data;
console.log(code);
},
error:function(){
console.log(2);
},
complete:function(){
console.log(4);
}
});
});

php代码:
<?php
$arr = array(341232, 564512, 876567, 321653);
echo $arr[array_rand($arr)];
sleep(4);
?>

现在的问题是当我手机号码格式输入正确时,执行到error
当手机号码格式错误时,
$('p').text('手机号码无效!').show().delay(1500).fadeOut();
这一句代码昙花一现,页面立马刷新,求大佬们指点啊


 
我心悦你的主页 我心悦你 | 初学一级 | 园豆:73
提问于:2018-06-25 10:36
< >
分享
最佳答案
0

你html代码中有form元素吧  获取验证码是button,点击会直接提交表单,无论action有没有

收获园豆:10
河畔 | 小虾三级 |园豆:723 | 2018-06-25 11:12

没太理解您的意思,能说详细些吗?可是用form比较好吧

我心悦你 | 园豆:73 (初学一级) | 2018-06-25 11:30

@我心悦你: 就这么说吧   你先把form标签都给删掉   再试试,如果正常了,就是form的问题了

河畔 | 园豆:723 (小虾三级) | 2018-06-25 11:32

@河畔: 嗯,是这样的,把form去掉就可以了。但是我一定要用form,所以是这样改的,吧button改为了input,type=“button”,就解决了

我心悦你 | 园豆:73 (初学一级) | 2018-06-25 13:13

@我心悦你: 也不一定  form中不要加action或者加上onsubmit都是可以阻止表单提交的

河畔 | 园豆:723 (小虾三级) | 2018-06-25 13:15

@河畔: 嗯,谢谢,问题解决了

我心悦你 | 园豆:73 (初学一级) | 2018-06-25 19:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册