javascript - 我的if语句有问题吗,为什么没有反应?
本文介绍了javascript - 我的if语句有问题吗,为什么没有反应?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
<form method="post" action="">
<div class="name">
<label for="username" >用户名:</label>
<input type="text" id="username" class="required" required="required"/>
</div>
<div class="sub">
<input type="submit" value="提交" id="send"/>
<input type="reset" id="res"/>
</div>
</form>
$(function(){
$(".name").append("<em style='color:red'>*</em>");
$(".name input").focus(function(){
$(this).siblings("em:eq(1)").remove();
$(this).next().after("<em style='color:red'>请输入至6位的位用户名</em>")
}).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后对必填表单字段检查,若有没填或格式不对则弹出提示,
问题是不管填对填错根本没有任何提示 ??
下面是截图:
解决方案
都没说到点
你的 if 有这么一句:
$must.siblings("em:contains(请输入)")
这句结果恒为true,因为它返回的是一个对象。因此if恒真
而判为真时,你先return了,自然没有弹框了
这篇关于javascript - 我的if语句有问题吗,为什么没有反应?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文