HTML Javascript,.click()->;。submit()和.submit()返回不同的结果

HTML Javascript,.click()->;。submit()和.submit()返回不同的结果,javascript,html,button,click,submit,Javascript,Html,Button,Click,Submit,我有一个表单,其中一个按钮正在使用onClick事件提交 <input type="button" name="couponButton" id="orderNow" value="Apply" onKeyUp="javascript:return false;" onClick="javascript:document.cartFrm.submit();" />" 虽然它们都触发相同的事件(.submit()),但结果不同。单击按钮时,表单的实际提交输入不包括在$\u POST中

我有一个表单,其中一个按钮正在使用onClick事件提交

<input type="button" name="couponButton" id="orderNow" value="Apply" onKeyUp="javascript:return false;" onClick="javascript:document.cartFrm.submit();" />"

虽然它们都触发相同的事件(
.submit()
),但结果不同。单击按钮时,表单的实际提交输入不包括在$\u POST中。当您按下enter键触发按钮时,表单的实际提交输入将包含在$\u POST中

这是因为在
onkeyup
中出现错误,并且触发了Enter键的默认行为:使用第一个提交按钮提交表单,与单击表单时相同

正确的代码可能是:

<input type="text" id="coupon" name="coupon" size="6" value="" onKeyUp="return AutoClick(event, 'orderNow');" />

请注意,我使用的是按钮的
id
,而不是它的名称。

我只是把它弄乱了,我认为下面的方法似乎有效

<form action='#' name='cartFrm' method="get">

    <input type='hidden' name='test' value='testing' />

    <input type="button" name="couponButton" id="orderNow" value="Apply" onKeyUp="javascript:return false;" onClick="javascript:document.cartFrm.submit();" />

    <input type=text id=coupon name=coupon size=6 value="" onKeyUp="javascript:if(event.keyCode == 13){document.cartFrm.couponButton.click();}else{return false;}" />


</form>
而不是

javascript:(event.keyCode == 13)?document.couponButton.click():''}
…根据您的原始版本,尽管我认为不符合
document.cartFrm.couponButton.click()的位
而不是
document.couponButton.click()
可能是我所做的最相关的更改

哦,我用html5 doctype做了这件事,以防我在这里提供的东西有什么怪癖

祝你好运

<form action='#' name='cartFrm' method="get">

    <input type='hidden' name='test' value='testing' />

    <input type="button" name="couponButton" id="orderNow" value="Apply" onKeyUp="javascript:return false;" onClick="javascript:document.cartFrm.submit();" />

    <input type=text id=coupon name=coupon size=6 value="" onKeyUp="javascript:if(event.keyCode == 13){document.cartFrm.couponButton.click();}else{return false;}" />


</form>
javascript:if(event.keyCode == 13){document.cartFrm.couponButton.click();}else{return false;}
javascript:(event.keyCode == 13)?document.couponButton.click():''}