javascript - 我的if语句有问题吗,为什么没有反应?
PHPz
PHPz 2017-04-10 17:39:00
[JavaScript讨论组]

$(function(){ $(".name").append("*"); $(".name input").focus(function(){ $(this).siblings("em:eq(1)").remove(); $(this).next().after("请输入至6位的位用户名") }).blur(function(){ $(this).val().length>5 ? $(this).siblings("em:eq(1)").text("输入正确").css("color","green") :""; })//..................这部分应该没问题 $("#send:submit").click(function(){ var $must=$("input[required=required]"); if($must.siblings("em:contains(请输入)")||$must.val()=="")//..............好像这里有问题,因为无论if语句是真是假都没有反应 {return false; alert("请正确输入表单")} else alert("注册成功,密码已发到你的邮箱,请查收."); }) })

希望点击button后对必填表单字段检查,若有没填或格式不对则弹出提示,
问题是不管填对填错根本没有任何提示 ??
下面是截图:

PHPz
PHPz

学习是最好的投资!

全部回复(5)
伊谢尔伦

都没说到点

你的 if 有这么一句:

$must.siblings("em:contains(请输入)")

这句结果恒为true,因为它返回的是一个对象。因此if恒真

而判为真时,你先return了,自然没有弹框了

PHPz

改成这样就可以了,你在if里面先return false就会直接不执行下面的逻辑了.
改成这样如果符合条件就会alert,不符合就跳到下面一句,相当于else.

if($must.siblings("em:contains(请输入)")||$must.val()=="") return alert("请正确输入表单")
alert("注册成功,密码已发到你的邮箱,请查收.");
怪我咯

首先就是$("input[required='required']").val()的值是对的。楼上说的很对。$must.siblings("em:contains(请输入)")这样的判断方式不对。

ringa_lee

$("input[required=required]")这个能找到吗

PHPz

感觉是 var $must=$("input[required='required']");

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号