我有2 textboxes
和2 listbox
,以及相应的添加按钮。
当我在textbox1中输入一些文本并按下输入时,它会被添加到listbox1中,正如事件Add1所期望的那样。
问题:
当我在textbox2中输入一些文本并按Enter键时,它会获得 从事件Add1添加到listbox1中。但它应该加入 来自事件Add2的listbox2。
我在文本框2中输入文本后检查了选项卡索引,对于Add1和Add2按钮,它都是“Zero”。
可以做些什么?如果我在textbox2中输入文本,则在提示输入后应调用Add2而不是Add1。 的更新
$('#textbox1').keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
alert('You pressed a "enter" key in textbox1');
__doPostBack('<%=btnAdd1.UniqueID %>', '');
}
});
$('#textbox2').keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
alert('You pressed a "enter" key in textbox2');
__doPostBack('<%=btnAdd2.UniqueID %>', '');
}
});
当我使用Add2添加第一个项目然后尝试使用Add1添加时,这也没有帮助。
任何人都可以纠正我的错过吗?
答案 0 :(得分:0)
您的表单只能有一个"Default" button(在ENTER上触发按钮)
您必须动态更改该属性或使用某些客户端触发使ENTER
在当前输入字段上起作用。
答案 1 :(得分:0)
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<center>
<table width="50%">
<tr><td><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Add1" runat="server" onclick="Add1_Click" Text="Add1" /> </td>
<td><asp:ListBox ID="ListBox1" runat="server"></asp:ListBox></td></tr>
<tr><td><asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><asp:Button ID="Add2" runat="server" onclick="Add2_Click" Text="Add2" /> </td>// check onclick="Add2_Click" is Add2_Click or Add1_Click
<td><asp:ListBox ID="ListBox2" runat="server"></asp:ListBox></td></tr>
</table></center>
</div>
</form>
</body>
</html>
C#:
protected void Add1_Click(object sender, EventArgs e)
{
ListBox1.Items.Add(TextBox1.Text);
}
protected void Add2_Click(object sender, EventArgs e)
{
ListBox2.Items.Add(TextBox2.Text);//check ListBox2.Items.Add and TextBox2.Text
}
//i think,you copied Add2 from Add1 .
//you just select Add2 then go to source remove on_click event again double click Add2.make code for listview2- listview2.items.add(Textbox2.text);
![enter image description here][1]
答案 2 :(得分:0)
我在Page_Load中添加了以下代码:
if(!IsPostBack)
{
TextBox1.Attributes.Add("onkeypress", "javascript:if (event.keyCode == 13) { __doPostBack('" + btnAdd1.UniqueID + "',''); return false; } ");
TextBox2.Attributes.Add("onkeypress", "javascript:if (event.keyCode == 13) { __doPostBack('" + btnAdd2.UniqueID + "',''); return false; } ")
}
就像魅力一样!