在Header中有一个搜索输入框,搜索按钮是Button控件,在 资讯文章搜索 用户自定义控件中也用到了Button控件。
将焦点停在 资讯标题或内容 输入框中,回车,但是相应的是Header中输入框内容。
原因:回车执行的就是你页面上的第一个submitbutton。解决方法:(以下以资讯搜索输入框为例)
1、js:
----------------------------------------------------------------------------
/* 回车后执行按钮 */
function SubmitKeyClick(button){
if (event.keyCode == 13){
event.keyCode = 9;
event.returnValue = false;
document.all[button].click();
}
}
function checkinputbox(){
var charBag = "[^`~@#$%^&/ |*]";
var searchkey = document.getElementById("ArticleSearch1_txtSearchKey");
if (trim(searchkey.value).length == 0 || trim(searchkey.value).length > 30){
alert("资讯文章关键字不能都为空或长度不能超过个字符!");
searchkey.focus();
return false;
}
if (trim(searchkey.value) != ""){
for (var i = 0; i < searchkey.value.length; i++) {
var c = searchkey.value.charAt(i);
if (charBag.indexOf(c) > -1) {
alert("搜索资讯文章关键字字符串中含有非法字符(" + c +")!");
searchkey.focus();
return false;
}
}
}
}
2、aspx页面控件:
---------------------------------------------------
<input id="txtSearchKey" name="txtSearchKey" type="text" runat="server" maxlength="30" onfocus="this.select();" />
3、cs中:
---------------------------------------------------
this.txtSearchKey.Attributes.Add("onkeyPRess", "SubmitKeyClick( ArticleSearch1_btnSearch );");
this.btnSearch.Attributes.Add("onclick", "return checkinputbox();");
在Header的cs中,同时将输入框的Attributes属性添加上即可。
this.txtKey.Attributes.Add("onkeypress", "SubmitKeyClick( Header1_btnSearchkey );");