Monday, May 20, 2024
Homepage · c#
 Popular · Latest · Hot · Upcoming
0
rated 0 times [  4] [ 4]  / answers: 1 / hits: 28984  / 13 Years ago, tue, june 14, 2011, 12:00:00

I need to pass a client ID to a Javascript function in the onblur event of an ASP.net control event like this:



OnBlur=javascript:setBackground(this, '<%= txtClientName.ClientID %>')


Here is my Javascript function:



function setBackground(sender, controlID) {
sender.style.backgroundColor = #ffffff;
var nextElement = document.getElementById(controlID);
if ((nextElement.value == '' || nextElement.value == 'Select') && tab == true) {
nextElement.style.backgroundColor = #f7C059
tab = false;
}
}


The problem is that the client ID gets passed in literally as '<%= txtClientName.ClientID %>' instead of the actual value. So, calling document.getElementById(controlID); doesn't work.



How can I get the actual client ID and pass it to my Javascript function?


More From » c#

 Answers
5

You could either change the asp.net control to standard html element (i.e., without runat=server)



<asp:TextBox ID=TextBox1 runat=server></asp:TextBox>
<input type=text id=ClientText1 onblur=javascript:alert('<%= TextBox1.ClientID %>') />


or see this Stack Overflow answer:



problem assigning declarative values in asp:hyperlink. error: this is not scriptlet. will output as plain text



or use jquery



<script type=text/javascript src=//ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js> </script>

<script type=text/javascript>
$(document).ready(function () {
$(#text2).blur(function(){alert('<%= TextBox1.ClientID %>')});
});
</script>

[#91718] Monday, June 13, 2011, 13 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
trayvon

Total Points: 35
Total Questions: 117
Total Answers: 88

Location: Guernsey
Member since Tue, Jul 6, 2021
3 Years ago
;