表单提交期间未设置JavaScript值

时间:2012-05-11 01:55:02

标签: javascript forms post

我在网上搜索了这个问题的解决方案。没有成功,我在这里。我有一个表单,我有3个字段应该包含数据。字段1是邮政编码,字段2和3分别是城市和州。

JS函数getCityByZipHome和getStateByZipHome动态返回city和state,并将值插入city2和state2输入字段。

无论出于何种原因,当我通过鼠标单击提交表单时...我通过$ _POST看到数据。如果用户按下ENTER,则从不捕获数据,我从未从隐藏字段中看到该数据。

知道这里有什么问题吗?注意,我已经尝试了几乎所有的事件处理程序onblur,onclick,onchange..etc。

<form  method="post" name="something" action="xxSome.php">
  <div class="s_row">
    <label for="zippy">Enter Zip Code</label>
    <input id="zipcode_home"  tabindex="2" type="text" onkeypress="javascript:getCityByZipHome(document.getElementById('zipcode_home').value, this.form.elements['city3']);javascript:getStateByZipHome(document.getElementById('zipcode_home').value, this.form.elements['state3']);" name="zipcode_home"/>
    <input id="state3" name="state3"type="hidden"/>
    <input id="city3" name="city3" type="hidden"/>
    <input type="submit"  value="Start Now!"/>
  </div>
</form>

我尝试在表单级别添加onsubmit @:

<form  method="post" name="something" action="xxSome.php" onsubmit="javascript:getCityByZipHome(document.getElementById('zipcode_home').value, this.form.elements['city3']);javascript:getStateByZipHome(document.getElementById('zipcode_home').value, this.form.elements['state3']);">
  <div class="s_row">
    <label for="zippy">Enter Zip Code</label>
    <input id="zipcode_home"  tabindex="2" type="text"  name="zipcode_home"/>
    <input id="state3" name="state3"type="hidden"/>
    <input id="city3" name="city3" type="hidden"/>
    <input type="submit"  value="Start Now!"/>
  </div>
</form>

我已经尝试过onblur没有任何运气@输入级别:

<form  method="post" name="something" action="xxSome.php">
  <div class="s_row">
    <label for="zippy">Enter Zip Code</label>
    <input id="zipcode_home"  tabindex="2" type="text" onblur="javascript:getCityByZipHome(document.getElementById('zipcode_home').value, this.form.elements['city3']);javascript:getStateByZipHome(document.getElementById('zipcode_home').value, this.form.elements['state3']);" name="zipcode_home"/>
    <input id="state3" name="state3"type="hidden"/>
    <input id="city3" name="city3" type="hidden"/>
    <input type="submit"  value="Start Now!"/>
  </div>
</form>

在经历了所有的混乱之后,我实际上从未解决过这个问题;相反,我禁用了ENTER键作为提交方法。

我有一些相当严重的时间限制,但我相信这会在以后出现,我肯定会回到这个问题。

2 个答案:

答案 0 :(得分:0)

你应该在onSubmit上的表格中进行getcitybyzip和getstatebyzip。

答案 1 :(得分:0)

将提交的类型更改为按钮,然后将onClick方法添加到其中。即,而不是使它,但你需要在表单上的ID来做到这一点。我会感兴趣的是找到出错的原因。你尝试过萤火虫吗?