我有一个表单,其中一个按钮使用onClick事件提交 .
<input type="button" name="couponButton" id="orderNow" value="Apply" onKeyUp="javascript:return false;" onClick="javascript:document.cartFrm.submit();" />"
此外,当输入处于焦点时按下回车键时,我有一个触发 couponButton
的输入 .
<INPUT type=text id=coupon name=coupon size=6 value="" onKeyUp="javascript:(event.keyCode == 13)?document.couponButton.click():''}">
虽然它们都触发相同的事件( .submit()
),但结果却不同 . 当您单击按钮时,表单's actual submit input is not included in $_POST. While when you press the enter key to trigger the button the form'的实际提交输入包含在$ _POST中 .
2 回答
我只是搞砸了这个,我认为以下似乎有效 .
我改变了优惠券上的onKeyUp来做
而不是
......按照原来的说法,虽然我认为
document.cartFrm.couponButton.click();
而不是document.couponButton.click()
的位可能是我所做的最相关的改变 .哦,我用html5 doctype做了这个,以防万一我在这里提供的任何怪癖skulduggery .
祝你好运!
这是因为您在
onkeyup
中有错误并且触发了Enter键的默认行为:使用第一个提交按钮提交表单,就像您单击它一样 .正确的代码可能是:
功能是:
请注意,我使用的是按钮的
id
,而不是它的名称 .