我已经在整个网络上搜索了这个问题的解决方案。没有成功后,我来了。我有一个表单,其中有 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 键作为提交方法。
我有一些非常严重的时间限制,但我相信这会在稍后出现,我肯定会回到这个问题。