jquery提交检测,为什么不走啊?直接就提交了


<input type="submit" class="submit" id='tijiao' value="提交">

$('#tijiao').submit(function(){
    
    var flag_yxqy=$('.yixuanquyu_1').length==0;
    var flag_yxly=$('.yixuandasha_1').length==0;
    if(flag_yxqy){
        alert("请选择服务区域");
        return false;
    }
    if(flag_yxly){
        alert("请选择意向管理楼宇");
        return false;
    }
    
    if(confirm("感谢您参与平台调研,稍后会有工作人员联系您!")){

    }else{
        return false;
    }
    
    
})
阅读 3.4k
7 个回答

简单来说,如果你想用js处理HTTP提交,那么直接用<input type="button">就是没有默认提交的按钮,或者换成符合HTML5标准的<button type="button">也行,就不用非得在事件处理里再加个e.preventDefault();或者return false;了。

submit事件是针对form标签的

$('#tijiao').submit(function(){})换成$('#tijiao').click(function(){})即可

e.preventDefault()

看不到 .yixuanquyu_1 和 .yixuandasha_1 这两个 html 结构,所以难以肯定,不过我想即使没有选中选项,但是你的 dom 已经是存在的话,length 永远大于 0 啊。

$().submit()方法是针对form对象的,而不是input,你把id换成form表单的id再试试

我看你的代码应该是想实现提交之前做一下前端验证,实际上给提交按钮绑个点击事件,先做验证,不通关就return,最后再$('#form_id').submit()就可以啦

如果你想用submit()提交的话 需要使用form去提交
或者直接使用 ajax 去提交

写个;e.preventDefault()
在$('#tijiao').submit(function(){})修改成$('#tijiao').click(function(){});
应该就可以了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题