我的html表单包含以下内容:
<form name="profile">
...
<select id="province" name="province">
<span id="provinceWarning" class="alert"></span>
<option value="">Select Province</option>
<option value="AB">Alberta</option>
...
在我的javascript中,我试图抓取表单的ID以显示一条消息,告诉用户如果他们没有选择任何内容并按下提交按钮,则会在下拉列表中选择一些内容。问题是javascript块返回undefined。
//validate the profile form
function validate(e){
e.preventDefault();
var valid=true;
if(document.profile.province.value == ""){
document.getElementById('provinceWarning').innerHTML="*Please choose a province*";
valid=false;
}
if(valid){
alert("Thank You!");
}
return valid;
};
答案 0 :(得分:4)
<select id="province" name="province">
<span id="provinceWarning" class="alert"></span>
<option value="">Select Province</option>
<option value="AB">Alberta</option>
</select>
标记内不能包含span
标记。浏览器在渲染此HTML时会将其剥离。
请参阅下面的演示(在浏览器的开发工具中检查浏览器在渲染时剥离span标记)< / p>
select
&#13;
您需要将=IF(OR(B5="Yes",B4="Yes",B3="Yes",B2="Yes"),1,0)
标记放在polling-xhr.js:264 GET http://localhost:3000/socket.io/?EIO=3&transport=polling&t=M2MDZUw net::ERR_CONNECTION_REFUSED
标记之外。
答案 1 :(得分:2)
尝试此操作,一旦您选择并提交,它就会关闭并重置。
function submit(){
if(!document.getElementById("province").value){
document.getElementById("provinceWarning").innerHTML="*Please choose a Province*";
valid=false;
}else{
document.getElementById("provinceWarning").innerHTML=""
valid=true;
window.alert("thank you")
}
}
&#13;
<form name="profile">
<select id="province" name="province">
<option value="">Select Province</option>
<option value="AB">Alberta</option>
</select>
<span id="provinceWarning" class="alert"></span>
</form>
<button id="btnSubmit" onclick="submit();">Submit</button>
&#13;
答案 2 :(得分:1)
问题:
1-您无法在main()
选项中定义span
,然后将其移出您的选择
2-要检查选择值,您应select
,然后检查值
3-可测试代码如下(您可以根据需要进行更改):
getElementById("province")
function func()
{
var ddl = document.getElementById("province");
var selectedValue = ddl.options[ddl.selectedIndex].value;
if (selectedValue == ""){
document.getElementById("provinceWarning").innerHTML="*Please choose a Province*";
valid=false;
}else{
alert("Thank You!");
}
}