0

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

JS 函数 getCityByZipHome 和 getStateByZipHome 动态返回城市和州,并将值插入 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 键作为提交方法。

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

4

2 回答 2

0

您应该以 onSubmit 的形式执行 getcitybyzip 和 getstatebyzip。

于 2012-05-11T02:00:33.173 回答
0

更改提交到按钮的类型,然后添加 onClick 方法。即,而不是让它,但你需要在表单上的一个 id 来做到这一点。不过,我会对找出问题所在的原因感兴趣。你试过萤火虫吗?

于 2012-05-11T02:13:09.297 回答