客户端ID方法javascript

时间:2011-02-17 10:54:52

标签: javascript jquery asp.net

 <input type="text" id="txtFirstName" runat="server" class="textReg"                                         
 onblur="javascript:validate_input(<%=txtFirstName%>,'imgFirstNameS','imgFirstNameE');" />`

我想将控件ID发送到我的javascript函数

喜欢ctl00_ContentPlaceHolder1_txtFirstName

function validate_input(control, success, error) {
control = document.getElementById('<%='+control+'.ClientID %>');
} 

有可能吗?

4 个答案:

答案 0 :(得分:3)

如果你做的下一件事是通过Id获取项目,为什么要发送Id。只需将'this'作为第一个参数。

<input type="text" id="txtFirstName" runat="server" class="textReg"  
onblur="validate_input(this,'imgFirstNameS','imgFirstNameE');" />

答案 1 :(得分:0)

由于您使用的是jQuery,因此请删除内联js处理程序并添加类似

的内容

如果您要为一堆具有类testReg的文本框挂钩事件,那么您可以执行类似

的操作
$("input:text.textReg").blur(function(){
    validate_input(this, 'imgFirstNameS', 'imgFirstNameE');
});

如果您想要这个标识为txtFirstName的文本框,那么您可以使用

$("<%= txtFirstName.ClientID %>").blur(function(){
   validate_input(this, 'imgFirstNameS', 'imgFirstNameE');
});

答案 2 :(得分:0)

要回答直接问题,请参阅以下正确的语法:

<input type="text" id="txtFirstName" runat="server" class="textReg"                                         
 onblur="validate_input('<%=txtFirstName.ClientID%>', 'imgFirstNameS', 'imgFirstNameE');" />

然而,TurBas的想法更好,通过this并直接使用它。

答案 3 :(得分:0)

    <input type="text" id="txtFirstName" runat="server" class="textReg"                                           
onblur="javascript:validate_input(<%=txtFirstName.ClientID%>,'imgFirstNameS','imgFirstNameE');" />