按enter键表单自动提交

  • 2019 年 10 月 30 日
  • 筆記

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/luo4105/article/details/53185494

当表单只有一个为text的input时,在该input按下enter键,表单会自动提交,我以前的代码,只有一个为text的input,一回车就提交表单

<form id="gform" action="${ROOT_PATH}/tdp/dev/zbfa/toChooseAppointMember.do" method="post">  	<input type="hidden" name="hynames" id="hynames" value="$!group.hynames"/>  	<input type="hidden" name="hydms" id="hydms" value="$!group.hydms"/>  	<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="Plright_Sch">  		<tr>  		<td align="right">添加会员:</td>  			<td align="left">  				<!-- 只有一个input,所以按enter自动提交表格 -->  				<input type="text" name="addhyname" id="addhyname" value="$!{query.addhyname}" maxlength="125"/>  			</td>  		</tr>  	</table>  </form>

找到两个解决办法

1.在input添加按键监控,一旦是enter,就返回false。

2.在表单中添加一个type为text的input,css设置为不显示

我采用第二种,解决了

<form id="gform" action="${ROOT_PATH}/tdp/dev/zbfa/toChooseAppointMember.do" method="post">  	<input type="hidden" name="hynames" id="hynames" value="$!group.hynames"/>  	<input type="hidden" name="hydms" id="hydms" value="$!group.hydms"/>  	<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="Plright_Sch">  		<tr>  			<td align="right">添加会员:</td>  			<td align="left">  				<!-- 只有一个input,所以按enter自动提交表格 -->  				<input type="text" name="addhyname" id="addhyname" value="$!{query.addhyname}" maxlength="125" οnkeyup="doSubmit(event);"/>  				<!-- 防止按enter键表单自动提交 -->  				<input type="text" style="display:none">  			</td>  		</tr>  	</table>  </form>

最后给我给input加上按键监控,按下enter键调用我需要的js方法

//按下enter,提交数据  function doSubmit(ev){  	var keycode = getKeyCode(ev);  	if (keycode==13)  		//添加会员方法  		addMember();  }