我不明白为什么我的代码不起作用。 首先我有这个表格:
第一个区域是必填的&&最后三个只有一个是必填的
所以我试试这段代码:
<div class="modal-body">
<div class="filtre"></div>
<h5>Ajouter votre filtre</h5>
<p>Nom du filtre
<input type="text" class="span12" name="nomFiltre" id="nomFiltre">
</p>
<p>De :</p>
<input type="text" class="span12" name="provenanceFiltre" id="provenanceFiltre">
<p>A :</p>
<input type="text" class="span12" name="destinataireFiltre" id ="destinataireFiltre">
<p>Objet : </p>
<input type="text" class="span12" name="objetFiltre" id="objetFiltre">
</div>
还有这个 JavaScript:
<script type="text/javascript">
$(function(){
$("#filtreVerif").click( function(){
if($("#nomFiltre").val().length < 1 && $("#provenanceFiltre").val().length < 1 || $("#destinataireFiltre").val().length < 1 || $("#objetFiltre").val().length < 1){
$('<div class="alert alert-error hide"><h4 class="alert-heading">Erreur !</h4>Vous devez entrer un titre est remplire au moins un des critéres !</div>').appendTo('.filtre').show("slow").delay(4000).hide("slow");
return false;
}
});
});
</script>
我的问题是当我点击下一步时:
- -> 我还没有完成所有输入:返回 false OK
- -> 如果我完成了第一个输入但没有完成另一个:返回真 BAD
我想如果三个字段之一不为空则返回 false。
最佳答案
您需要将 || 放在一组单独的括号中
如果 1 和 2 为真,如果 3 为真,或者如果 4 为真,您现在使用的方法返回真。
编辑 对不起,我走的是另一条路。您必须切换 || 和 &&。应该是:
if($("#nomFiltre").val().length < 1 || ($("#provenanceFiltre").val().length < 1 && $("#destinataireFiltre").val().length < 1 && $("#objetFiltre").val().length < 1))
关于javascript - 基本条件 && 或 ||在javascript中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17428815/