Reputation: 107
<input type="text" id="txtFirstName" runat="server" class="textReg"
onblur="javascript:validate_input(<%=txtFirstName%>,'imgFirstNameS','imgFirstNameE');" />`
I want to send control id to my javascript function
like ctl00_ContentPlaceHolder1_txtFirstName
or
function validate_input(control, success, error) {
control = document.getElementById('<%='+control+'.ClientID %>');
}
is it possible ?
Upvotes: 1
Views: 1834
Reputation: 6945
<input type="text" id="txtFirstName" runat="server" class="textReg"
onblur="javascript:validate_input(<%=txtFirstName.ClientID%>,'imgFirstNameS','imgFirstNameE');" />
Upvotes: 0
Reputation: 66388
To answer the direct question, here is the proper syntax for this:
<input type="text" id="txtFirstName" runat="server" class="textReg"
onblur="validate_input('<%=txtFirstName.ClientID%>', 'imgFirstNameS', 'imgFirstNameE');" />
However TurBas idea is better, pass this
and use it directly.
Upvotes: 0
Reputation: 187050
Since you are using jQuery remove your inline js handler and put something like
If you want to hook the event for a bunch of textboxes having the class testReg
then you can do something like
$("input:text.textReg").blur(function(){
validate_input(this, 'imgFirstNameS', 'imgFirstNameE');
});
If you want this for the textbox with id txtFirstName
only then you can have something like
$("<%= txtFirstName.ClientID %>").blur(function(){
validate_input(this, 'imgFirstNameS', 'imgFirstNameE');
});
Upvotes: 0
Reputation: 1676
Why send the Id if the next thing you do is get the item by Id. Just put 'this' as first parameter.
<input type="text" id="txtFirstName" runat="server" class="textReg"
onblur="validate_input(this,'imgFirstNameS','imgFirstNameE');" />
Upvotes: 3