有两个textbox分别为:textbox1,textbox2,两个button:button1,button2
现在想在textbox1输入好内容后,按回车,能触发button1的click事件
现在想在textbox2输入好内容后,按回车,能触发button2的click事件
现在主要出现的问题是无论是哪个textbox里输入,只会出发button1的click事件
现在想在textbox1输入好内容后,按回车,能触发button1的click事件
现在想在textbox2输入好内容后,按回车,能触发button2的click事件
现在主要出现的问题是无论是哪个textbox里输入,只会出发button1的click事件
那该怎么绑定呢?
AutoPostBack="True"></asp:TextBox><asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button1" /><asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Button2" />
<input type="text" name="t1" id="t1" onBlur="t2.focus();">
<input id="t2" type="button" name="t2" onClick="alert(t1.value);" >
</form>
<head><title>测试keydown</title>
<SCRIPT LANGUAGE="JavaScript">
function enterkey()
{
if(event.keyCode==13 && event.srcElement.type !="BUTTON" && event.srcElement.type!="SUBMIT")
event.keyCode=9;
}
</SCRIPT>
</head>
<body>
<form id="form1" method="post">
<input type="text" id="txt1" onkeydown="enterkey();">
<input type="text" id="txt2" onkeydown="enterkey();">
<input type="text" id="txt3" onkeydown="enterkey();">
<input type="button" id="btn" Text="提交" onclick="alert('不再跳下去了');">
</form>
</body>
</html>
<!--
function __doPostBack(eventTarget, eventArgument) {
var theform;
if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
theform = document.Form1;
}
else {
theform = document.forms["Form1"];
}
theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
// -->
</script>也必须添加两个hidden的文本框到客户端,写到<form>中<input type="hidden" name="__EVENTTARGET"><input type="hidden" name="__EVENTARGUMENT">后端.cs文件中的Page_Load添加:TextBox1.Attributes.Add("onkeydown","javascript:if (13 == window.event.keyCode){__doPostBack('Button1','');return false;}");
TextBox2.Attributes.Add("onkeydown","javascript:if (13 == window.event.keyCode){__doPostBack('Button2','');return false;}");实现。这实际上是将微软本身提供的体制反着用了一次,不得已而为之,但总算实现了。
http://blog.joycode.com/ceocio/archive/2005/01/05/42429.aspx
用onkeydown来触发onclick事件
<head>
<title>test</title>
<script language="javascript">
function okey()
{
if(event.keyCode==13)
{
if(event.srcElement.id=="txt2")
{
document.all.btn2.click();
}
else
{
document.all.btn.click();
}
}
}
</script>
</head>
<body onKeyDown="okey();">
<input type="text" id="txt1"><br>
<input type="text" id="txt2"><br>
<input type="button" id="btn" value="我好" onClick="alert('我好')">
<input type="button" id="btn2" value="你好" onClick="alert('你好')">
</body>
</html>这个还简单呢。呵
if(!IsPostBack)
{
this.TextBox1.Attributes["onkeydown"]="clickBtn('Button1')";
this.TextBox2.Attributes["onkeydown"]="clickBtn('Button2')";
}在页面中加入脚本<script language=javascript>
<!--
function clickBtn(id)
{
var btn = document.getElementById(id); //根据 ID 找到 Button
if(btn== null){return;} //没找到,则返回
if (event.keyCode ==13 ) //按下的是回车键
{
btn.click();
event.returnValue = false; //阻止回车键的生效
}
}
//-->
</script>
3q,你的更简单更好理解非常感谢大家,晚上结帖