今天在开发中,遇到了一个问题:
在Header中有一个搜索输入框,搜索按钮是Button控件,在“资讯文章搜索”用户自定义控件中也用到了Button控件。
将焦点停在“资讯标题或内容”输入框中,回车,但是相应的是Header中输入框内容。
原因:回车执行的就是你页面上的第一个submit button。解决方法:(以下以资讯搜索输入框为例)
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');");
欢迎访问:http://www.521189.com (521联合供货网)
QQ:863858965
email:
[email protected]