如何在select元素中获取span元素的id?

时间:2017-12-27 06:29:47

标签: javascript html

我的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;

};

3 个答案:

答案 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>

&#13;
&#13;
select
&#13;
&#13;
&#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)

尝试此操作,一旦您选择并提交,它就会关闭并重置。

&#13;
&#13;
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;
&#13;
&#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!");
   }
}