document.getElementById

I am trying to get the reference to an HTML textbox using:
var tb1 = document.getElementById(id);
tb1.style.display = "none";

But, this does not seem to work.
Please let me know what I might be missing. Thanks!
dshrenikAsked:
Who is Participating?
 
leakim971PluritechnicianCommented:
it work : http://jsfiddle.net/FvPK5/
function hide(id) {
    var tb1 = document.getElementById(id);
    tb1.style.display = "none";
}

Open in new window

0
 
Dave BaldwinFixer of ProblemsCommented:
The name of the 'id' should be quoted.

var tb1 = document.getElementById("id");
tb1.style.display = "none";

http://www.w3schools.com/jsref/dom_obj_style.asp
0
 
dshrenikAuthor Commented:
id is a variable that stores the actual ID
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
leakim971PluritechnicianCommented:
wait the dom

window.onload = function() {
    var tb1 = document.getElementById("someid");
    tb1.style.display = "none";
}

Open in new window


if you've asp.net use ClientID : http://beyondrelational.com/blogs/hima/archive/2010/07/16/all-about-client-id-mode-in-asp-net-4.aspx

var tb1 = document.getElementById("<%= Textbox1.ClientID %>");
tb1.style.display = "none";

http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientid.aspx
0
 
dshrenikAuthor Commented:
Using Firebug, this is the source for the HTML element:

<input id="id_1dropdown_0*p_0" class="parameterStyle" type="text" onchange="checkParameter1(this);" name="id_1dropdown_0*p_0" style="border-left: 1px solid grey; border-right: 1px solid grey; border-width: 1px; border-style: solid; border-color: grey;">

Open in new window

0
 
dshrenikAuthor Commented:
I can't do this on "window.onload ". I need to do it after the page loads
0
 
Dave BaldwinFixer of ProblemsCommented:
If you're trying to use 'id' as a variable name, I suggest you change it to something else because that has a specific meaning already.  While it is not a reserved word, I would use a variation of it like 'id1' or something that would not be confused with the HTML attribute 'id'.

Are you sure that 'id' contains a valid value?  Your syntax looks ok.  http://www.w3schools.com/jsref/prop_style_display.asp
0
 
Dave BaldwinFixer of ProblemsCommented:
The asterisk is not a legal character in the id. id="id_1dropdown_0*p_0"  From W3C:

ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
0
 
leakim971PluritechnicianCommented:
with a dropdown : http://jsfiddle.net/FvPK5/1/
0
 
dshrenikAuthor Commented:
It is not a dropdown. It is a textbox (the id is misleading).
0
 
dshrenikAuthor Commented:
I am able to retrieve the textbox with this line of code:
var tb1 = document.getElementById(id);

I can display its value by saying:
alert(tb1.value);

However, this is not working:
tb1.style.display = "none";
0
 
leakim971PluritechnicianCommented:
try with an alert after :
tb1.style.display = "none";
alert("do you still see it really before clicking OK?");

Open in new window

0
 
dshrenikAuthor Commented:
It was my mistake. It actually works. Thanks!
If possible, please answer this question:
http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_27314630.html
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.