我需要处理文本框的回车,用来触发服务器事件,
这用到了__doPostBack(eventTarget, eventArgument)可是这和datagrid的EditCommandColumn
的__doPostBack()产生了冲突,怎么办?

解决方案 »

  1.   

    用input 的onkeypress事件
      

  2.   

    http://www.xiaopixie.com/web/news.aspx?id=134
      

  3.   

    在一个按钮写触发的后台事件,并将其width=0
    前台用js控制
    <script language=javascript event = onkeydown for= textbox1>
       if(event.keyCode == 13)
         document.all.Button1.click();
    </script>
      

  4.   

    lz想要在textbox回车后触发什么事件?为和会editcommand冲突?
      

  5.   

    javascript
    jimu8130(世界杯结束了,人散茶凉) 都写好了
      

  6.   

    to jimu8130(世界杯结束了,人散茶凉)
    <script language=javascript event = onkeydown for= textbox1>
       if(event.keyCode == 13)
         document.all.Button1.click();
    </script>
     
    这么写只能触发html按钮而不能触发服务器端按钮!
      

  7.   

    我贴出代码大家看看自己试试就知道了.
    Test.aspx
    自己添加个TextBox1,button,Label,然后写如下代码:<input type="hidden" name="__EVENTTARGET"> <input type="hidden" name="__EVENTARGUMENT"> <script language="javascript" type="text/javascript">
     <!--
     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>test.aspx.cs:Page_Load 里写:
     TextBox1.Attributes.Add("onkeydown","javascript:if (13 == window.event.keyCode){__doPostBack('Button1','');return false;}");
    private void Button1_Click(object sender, System.EventArgs e)
    {
    this.Label1.Text = "Test ok!";
    }
      

  8.   

    如果在加个datagrid并加EditCommandColumn列 
    绑定数据后,
    文本框的回车事件就无效了,
    因为处理回车事件用到了底层的function __doPostBack(eventTarget, eventArgument)
    触发EditCommandColumn列 也用到了 
    大家把鼠标停到EditCommandColumn列的时候就可以看到
    浏览器左下方有提示
      

  9.   

    jimu8130
    我按着你的写了,怎么就是不行呢?
      

  10.   

    Button是客户端的可以,服务器端的没反应啊,郁闷!
      

  11.   

    Button是客户端的可以,服务器端的没反应啊,郁闷!
    -------------------------------------------很正常.
      

  12.   

    to   yuanarea(Sail before) 可是 jimu8130(世界杯结束了,人散茶凉)
    说他的就能行的
      

  13.   

    runatserver是否为true都没关系的,用onKeyDown事件就完成的。<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    <script language="JavaScript">
    function isshuzi(s)
    {
    var shuzi="0123456789";
    var i;
    for (i = 0; i < s.length; i++)
    {
    var c = s.charAt(i);
    if (shuzi.indexOf(c)<0)
    {
    alert("请输入数字");
    }
    }
    }</script>
    </head><body>
    <form name="form1" method="post" action="">
      <input type="text" name="t1" onKeyDown="isshuzi(this.value)">
    </form>
    </body>
    </html>
      

  14.   

    所有回答问题的人基本都错了。
    我出的问题是因为不知道有DataGrid的页面会自动生成__doPostBack,造成了重复,所以出现问题.
    分该给谁呢?
    帮我看看这个贴吧,搞定后两个贴的分一起都给他
    http://community.csdn.net/Expert/topic/4887/4887953.xml?temp=.9717523
      

  15.   

    自己添加个TextBox1,button,Label,然后写如下代码:
    ... </script>----------->这一坨是它自己生成的,只要有一个自动回传为true的。去掉这段就可以了。