javascript中的else if语句无法显示验证消息
根据验证中的if/else语句显示字符串时遇到问题 如果您查看下面的代码,如果满足javascript中的else if语句无法显示验证消息,javascript,html,Javascript,Html,根据验证中的if/else语句显示字符串时遇到问题 如果您查看下面的代码,如果满足If语句,那么它会显示消息,这很好,但是当我确保满足If语句并且故意使否则If语句失败时,它只会显示一个空白,而不是显示消息。如果在下面的javascript验证中满足语句,为什么不显示whenelse的消息: function editvalidation() { var isDataValid = true; var currentAssesO = document.getElementBy
If
语句,那么它会显示消息,这很好,但是当我确保满足If
语句并且故意使否则If
语句失败时,它只会显示一个空白,而不是显示消息。如果在下面的javascript验证中满足语句,为什么不显示whenelse的消息:
function editvalidation() {
var isDataValid = true;
var currentAssesO = document.getElementById("currentAssessment");
var noStudentsO = document.getElementById("addtextarea");
var studentAssesMsgO = document.getElementById("studentAlert");
studentAssesMsgO.innerHTML = "";
if (currentAssesO.value == ""){
$('#targetdiv').hide();
studentAssesMsgO.innerHTML = "Please Select an Assessment to edit from the Assessment Drop Down Menu";
isDataValid = false;
}else if (noStudentsO.value == ""){
$('#targetdiv').hide();
studentAssesMsgO.innerHTML = "You have not Selected any Students you wish to Add into Assessment";
isDataValid = false;
}
else{
studentAssesMsgO.innerHTML = "";
}
return isDataValid;
}
更新:
HTML:
选择框(选项附加到此框中):
下拉菜单:
<select name="session" id="sessionsDrop">
<option value="">Please Select</option>
<option value='20'>EWYGC - 10-01-2013 - 09:00</option>
<option value='22'>WDFRK - 11-01-2013 - 10:05</option>
<option value='23'>XJJVS - 12-01-2013 - 10:00</option>
</select> </p>
请选择
EWYGC-10-01-2013-09:00
WDFRK-11-01-2013-10:05
XJVS-12-01-2013-10:00
警报信息:
<div id='studentAlert'></div>
验证要求:
- 如果下拉菜单为空,则在警报消息div中显示需要从下拉菜单中选择评估的消息
- 如果下拉菜单不为空,则检查选择框是否包含任何选项,如果选择框不包含任何选项,则替换div警报消息,说明没有选择要添加到评估中的学生
- 如果下拉菜单不为空,并且选择框不为空(或者换句话说,包含一个选项),则div警报消息只是一个空字符串
这里有一个神奇之处:
else {
studentAssesMsgO.innerHTML = "";
alert(noStudentsO.value); // tell me why I'm in this block
}
用以下方式重新表述您的JavaScript:
最新答案
请将jQuery包含在
部分中
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
@达文尼顿哈哈!真的吗P^这………嗨,我已经尝试了上面的代码,但是我在控制台中得到了一个noStudentsO
isn null错误。顺便说一句,#addtextarea实际上是一个选择框,而不是一个textarea。我想检查一下是否没有options@user1964964可以使用jQuery吗?如果你更喜欢使用jQuery,那就选择itHaha,我也可以睡觉了。非常感谢:)
function editvalidation() {
var isDataValid = true;
var currentAssesO = document.getElementById("currentAssessment");
var noStudentsO = document.getElementById("addtextarea");
var studentAssesMsgO = document.getElementById("studentAlert");
var errorMsg = "";
studentAssesMsgO.innerHTML = "";
if (currentAssesO.value == "" || noStudentsO.value == "") {
$('#targetdiv').hide();
isDataValid = false;
if (currentAssesO.value == "") {
errorMsg += "Please Select an Assessment to edit from the Assessment Drop Down Menu";
}
if (noStudentsO.value == "") {
errorMsg += "You have not Selected any Students you wish to Add into Assessment";
}
studentAssesMsgO.innerHTML = errorMsg; // Plus whatever styling for messages.
}
return isDataValid;
}
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
function editvalidation()
{
if ($("#sessionsDrop").val()=="")
$("#studentAlert").html("Assessment needs to be filled.");
if ($("#sessionsDrop").val()!="" && $("#studentadd").children().length==0)
$("#studentAlert").html("No students have been selected to add to assessment.");
if ($("#sessionsDrop").val()!="" && $("#studentadd").children().length!=0)
return true;
return false;
}