Javascript getElementByID和表单处理

时间:2012-04-04 21:46:47

标签: javascript forms getelementbyid

我目前在提交动态表单时传递某些输入字段时遇到了一些麻烦。

如果选择州内的某个字段,则启用城市/学校字段(因为我们只需要收集来自特定州的学生而不是其他人的信息)。

HTML code:

<form name="email" method="post" action="...email.php">
. 
. 
. 
<div id="cityDiv" class="row">
<h5 id="c1" class="mandatory">City:</h5>
<select id="c2" class="inputColumn" onchange="fillSchoolDropdown();" name="extra_city">
  --select options ---  
 </div>
 <div id="schoolDiv" class="row">
 <h5 id="sch1" class="mandatory">School:</h5>
 <input id="extra_school" class="inputColumn" type="text" name="extra_school">
 </div>

Javascript:

   if(verify(document.email)){ 
     .
     .
     .
   var school = document.getElementById("extra_school").value;
   var citySelect=document.getElementById("extra_city");
   var city=citySelect.options[citySelect.selectedIndex].text;

我要么获得null CitySelect,要么表单成功验证但不知何故......尽管在表单中输入了内容,但两者的最终结果仍然是“”。

我在这里做错了什么?

2 个答案:

答案 0 :(得分:1)

var citySelect=document.getElementById("extra_city");

应该是:

var citySelect=document.getElementById("c2");

因为那是id。您正在尝试选择name attr。

或者您可以更改select元素的ID:

<select id="extra_city" class="inputColumn" onchange="fillSchoolDropdown();" name="extra_city">

答案 1 :(得分:0)

您的select元素的ID为'c2',但您尝试按名称'extra_city'调用

var citySelect=document.getElementById("c2");