0

在此处输入图像描述

我有2 textboxes2 listbox,带有相应的添加按钮。

当我只是在 textbox1 中输入一些文本并按 enter 时,它会被添加到 listbox1 中,正如事件 Add1 所预期的那样。

问题:

当我在 textbox2 中输入一些文本并按 Enter 时,它会从事件 Add1 中添加到 listbox1 中。但它应该从事件 Add2 中添加到 listbox2 中。

在文本框 2 中为两个按钮 Add1 和 Add2 输入文本后,我检查了选项卡索引,它们的“零”。

可以做什么?如果我在 textbox2 中输入了文本,则在按 Enter 后应该调用 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 添加时,这也无济于事。

谁能纠正我我错过了什么?

4

3 回答 3

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; } ")
 }

像魅力一样工作!

于 2013-05-21T13:19:44.067 回答
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]
于 2013-05-13T13:59:02.410 回答
0

您的表单只能有一个“默认”按钮(在 ENTER 上触发的按钮)

您必须动态更改该属性或使用某些客户端触发来ENTER处理当前输入字段。

于 2013-05-13T13:23:16.103 回答