是否有任何建议用于设置默认输入按钮,该按钮不仅适用于IE,还适用于Firefox,Chrome,Safari等。我有一些默认按钮设置的面板,但当我在非浏览器中输入时,它只是默认为页面上的第一个链接。
有什么建议吗?
答案 0 :(得分:1)
您可以编写一些javascript来检查按下哪个按钮 - 如果是回车键,请执行您想要的操作。
使用以下内容检查输入:
function checkEnter()
{
if(event)
{
if(evnet.keyCode == 13) //ur code
}
else if(evt)
{
if(evt.keyCode == 13) //ur code
}
}
答案 1 :(得分:1)
我在这里提供了两个例子,第一个使用jQuery而第二个使用旧学校的javascript。
<强>的jQuery 强>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script language="javascript" type="text/javascript">
$("document").ready(function(){
$(".searchBox").keypress(function(e){
if (e.keyCode == 13)
//add code here
});
});
</script>
<div class="searchBox">
<input type="text" name="searchText"/>
<input type="submit" value="search now" />
</div>
纯javascript
我在对表单周围的div使用“onkeypress”操作之前已经这样做了。这在IE7,Firefox3和Chrome中进行了测试。
这是一个例子:
<div id="searchBox" onkeypress="return clickButton(event,'btnSearch')">
<input name="searchText" type="text" id="searchText" />
<input type="button" name="btnSearch" value="Search" id="btnSearch" onClick="SubmitAction()" />
</div>
<script type="text/javascript" language="javascript">
function SubmitAction()
{
alert('button clicked');
}
function clickButton(e, btId){
var bt = document.getElementById(btId);
if (typeof bt == 'object'){
if(navigator.appName.indexOf("Netscape")>(-1)){
if (e.keyCode == 13){
bt.click();
return false;
}
}
if (navigator.appName.indexOf("Microsoft Internet Explorer")>(-1)){
if (event.keyCode == 13){
bt.click();
event.cancelBubble = true;
return false;
}
}
}
}
</script>
您可能需要对其进行编辑,以使其在所有浏览器中完全兼容,但您应该从中获取相关信息。基本上任何按键在此div被聚焦时将调用clickButton()函数。正如其他答案所提到的,e.keyCode为13表示Enter按键。
答案 2 :(得分:0)
我添加了面板控件,它在我的工作正常。
<asp:Panel ID="panSearch" runat="server"
DefaultButton="btnSearch2" Width="100%" >
<table width="100%">
<tr>
<td>First Name</td>
<td ><asp:TextBox ID="txtboxFirstName2"
runat="server" ></asp:TextBox></td>
</tr>
您还可以浏览this link