FineUI 官方论坛

标题: 文本框获得焦点触发焦点事件,如何实现,谢了 [打印本页]

作者: 做了才会想好    时间: 2013-4-2 02:56
标题: 文本框获得焦点触发焦点事件,如何实现,谢了
本帖最后由 做了才会想好 于 2013-4-2 03:02 编辑

文本框有类似onFocus=""这样的事件吗
要在后台执行的,

作者: sanshi    时间: 2013-4-2 04:20
需要写js,思路是js捕获事件,然后调__doPostback函数
作者: 做了才会想好    时间: 2013-4-2 14:14
本帖最后由 做了才会想好 于 2013-4-2 14:27 编辑


<ext:TextBox ID="DataNO" runat="server" Label="字段编码"   MaxLength="5" MinLength="5"  Required="true"
                                ShowRedStar="true" Width="320"    ClientIDMode="Static">
                            </ext:TextBox>

调用不了
  function autoGetDataNo(DataNO) {
                        __doPostBack(DataNO, DataNO);

        }

        function setTextBoxFocus(DataNo) {
           document.getElementById(DataNo).setAttribute('onfocus', autoGetDataNo(DataNo));
   
        }
<body  onload="setTextBoxFocus('DataNo');">  调用后,出错,提示对象为NULL,无法识别setAttribute属性

作者: 做了才会想好    时间: 2013-4-2 22:14
这是我修改的代码:
前台页面:
<script language="javascript" type="text/javascript">
        function autoGetDataNo(dataNOID) {

            __doPostBack(dataNOID, 'DataNO');

        }

      
    </script>
<ext:TextBox ID="DataNO" runat="server" Label="字段编码" AutoPostBack="true"   MaxLength="6"
                                MinLength="6"  Required="true"
                                ShowRedStar="true" Width="320"    ClientIDMode="Static"
                                MaxLengthMessage="只能输入6位英文数字编码" MinLengthMessage="只能输入6位英文数字编码"  >
                            </ext:TextBox>




    <script type="text/javascript">

        function onReady() {
            var dataNOID = '<%= DataNO.ClientID %>';
            var dataNO = Ext.getCmp(dataNOID);
            dataNO.addListener('onFocus', autoGetDataNo(dataNOID));
            dataNO.addListener('onKeyUp', autoGetDataNo(dataNOID));
        }
        </script>

.cs代码:

if (!IsPostBack)
            {



else
            {
                Response.Write(Request.Form["__EVENTTARGET"]);
                if (Request.Form["__EVENTTARGET"] == DataNO.ClientID && Request.Form["__EVENTARGUMENT"] == "DataNO")
                {
                                     common cm = new common();
                    DataNO.Text = cm.DataBasicKnowledgeStoreAutoNo();
                    DataNO.Focus(true);
                }
            }
只加载玩野页面后触发了onfocus事件,获取到了cm.DataBasicKnowledgeStoreAutoNo()的值,后面的触发就再也没有效果,怎么回事,能给看看吗




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4