我正在尝试创建一个页面,您可以在其中填写一些输入框并选中一个单选按钮,如果您完成所有操作,则可以单击一个div,然后动画就会发生。特定的输入框不是页面上的唯一输入框。我正在尝试使用javascript“if”语句,在括号中有一堆“和”和“或”,但是当我打开页面时,代码不会运行。这不是我的所有代码,我知道javascript和它的库是链接的,因为我已经编写了这个网站一段时间,一切都已经工作到现在。我在javascript验证器中检查了代码,看起来很好。我不确定我做错了什么。
$(document).ready(function(){
if ( $(".managementCompanyName").val() !== '' &&
$(".approvedBy").val() !== '' &&
$(".contractStartDate").val() !== '' &&
$(".proposalNumber").val() !== '' &&
$(!$("input[name='proposalReviewedForInvoice']:checked").val() || !$("input[id='proposalNotReviewedForInvoice']:checked").val()) ) {
//do stuff
}
});
或者我有
$(document).ready(function(){
if ( $(".managementCompanyName").val() !== "" &&
$(".approvedBy").val() !== "" &&
$(".contractStartDate").val() !== "" &&
$(".proposalNumber").val() !== "" &&
$("input[name='proposalReviewedForInvoice']:checked").val() !== "" ) {
//do stuff
}
});
此代码似乎适用于网站的另一部分,其中只有一个输入作为要求。 谢谢你,如果你能发现我的错误。
答案 0 :(得分:4)
将||
部分括在括号中,否则||
的第一个操作数实际上是最后一个&&
的结果。
/*$*/(!$("input[name='proposalReviewedForInvoice']:checked").val() ||
!$("input[id='proposalNotReviewedForInvoice']:checked").val()) ) {
实际上,你似乎把它们包裹在$()
中,它总会返回一个jQuery对象,在这种情况下它总是“真实的”。
答案 1 :(得分:0)
如果您只使用“OR(||)”条件,则可以更好地处理错误。
$(document).ready(function(){
var management = $(".managementCompanyName").val();
var approved = $(".approvedBy").val();
var contract = $(".contractStartDate").val();
var proposed_num = $(".proposalNumber").val();
var proposed_rev = $("input[name='proposalReviewedForInvoice']:checked").val();
if ( management == '' || approved == '' || contract == '' || proposed_num == ''
|| proposed_rev == '' ) {
// error message
} else {
// do stuff
}
});