我在以下代码中遇到一个问题,当我在关键字文本字段中输入时,表格将提交。在java脚本中没有这样的enter事件绑定。这个问题还在讨厌
但是,当我删除<form>
标记时,它可以正常工作,
请帮助..如果有任何错误
<form action="" method="post" id="businessSearchForm" name="businessSearchForm">
<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" HEIGHT="100%" WIDTH="100%" CLASS="searchproperty">
<TR>
<TD ALIGN="left" COLSPAN="4" class="boldText"> Business Search</TD>
</TR>
<TR>
<TD ALIGN="left" WIDTH="20%" class="boldText"> Search For</TD>
<TD WIDTH="25%"><INPUT TYPE="radio" NAME="searchfor" VALUE="1" checked="checked">Product <INPUT TYPE="radio" NAME="searchfor" VALUE="2">Company</TD>
<TD ALIGN="left" WIDTH="20%" class="boldText"> Business Type</TD>
<TD WIDTH="30%"> <SELECT NAME="businessType" ID="businessType" CLASS="dropDown"></SELECT></TD>
</TR>
<TR>
<TD ALIGN="left" class="boldText"> Country</TD>
<TD> <SELECT ID="country" NAME="country" CLASS="dropDown"></SELECT></TD>
<TD ALIGN="left" class="boldText"> State</TD>
<TD> <SELECT ID="state" NAME="state" CLASS="dropDown"></SELECT></TD>
</TR>
<TR>
<TD ALIGN="left" class="boldText"> Keywords <span class="mendotory">*</span></TD>
<TD COLSPAN="3"> <INPUT TYPE="text" maxlength="40" SIZE="40" tabindex="1" name="keywords" id="keywords" value=""> <INPUT TYPE="button" CLASS="btn" VALUE="Search" ONCLICK="javascript:processBusinessSearch();"/> <a href='#' onclick='javascript:clearBusinessSearch();' ><img src="images/clear.gif" border="0"></a> </TD>
</TR>
</TABLE>
</form>
答案 0 :(得分:1)
这样的事情应该这样做:
$("#keywords").keypress(function(e) {
// if 'enter' is pressed
if(e.which == 13) {
return false;
}
});
答案 1 :(得分:1)
IE中“单个文本框提交”问题的另一个案例,请参阅此问题:“IE needs 2 textboxes to submit a button?”。
一种解决方法是在表单中放置另一个文本框,其样式为“display:none”;这样,输入按钮不会触发提交事件。或者,您可以使用一些Javascript来触发提交事件......这一切都取决于您想要实现的目标。
答案 2 :(得分:1)
我不确定我是否已经解释了您的问题,但我相信您想要的是在提交表单时调用您的processBusinessSearch()函数,无论用户是按下提交按钮还是按下输入
为此,请查看submit事件 - 为此事件添加一个调用您的函数的处理程序。
答案 3 :(得分:0)
尝试在表单上使用onsubmit事件:
<form onSubmit="return processBusinessSearch()" ...
答案 4 :(得分:0)
$("#keywords").keypress(function(e){
if (e.which == 13)
$("#businessSearchForm").submit();
});