Click to See Complete Forum and Search --> : DOM: null or not an object error


Nicodemas
11-13-2003, 04:49 AM
- edit -

Khalid Ali
11-13-2003, 06:34 AM
first thing that comes to mind is that is

txtUnit a select box?

Nicodemas
11-13-2003, 07:10 AM
Yeppers.

That code has some serious logic errors, but I never claimed to be anything of a js scripter.

However, I do know something! So would it be possible to explain to me why the following statements do not work.


var the_form = document.SaveForm;
var form_name = the_form.name;
document.writeln("This form is " + form_name + ".");



Now I get this:

"name" is null or not an object.


WHAT? I've always heard that name is a property of a form. I even looked it up! What do you think, Khalid?

fredmv
11-13-2003, 07:18 AM
Could we please see the HTML for the form, too?

Nicodemas
11-13-2003, 07:43 AM
Hello all, been hacking at this, and changed a few things up.
Have some trouble, though, because I do not know how to get the number of indexes in a select box.




<form name="SaveForm" action="reviewad.asp" method="post">

<script>
var the_form = document.SaveForm;
var tU = the_form.txtUnit;
var maxCount = tU.length;
counter = 0;

document.writeln(maxCount);

</script>

<select name="txtUnit" size="1">
<option value="52fw.bb@spangdahlem.af.mil">52 FW</option>

<option value="372trs.bb@spangdahlem.af.mil"> - 372 TRS</option>
<option value="afosi.bb@spangdahlem.af.mil"> - AFOSI</option>
<option value="arc.bb@spangdahlem.af.mil"> - ARC</option>

<option value="det9.bb@spangdahlem.af.mil"> - DET9/AFN</option>
<option value="kalkar.bb@spangdahlem.af.mil"> - KALKAR</option>
<option value="52mdg.bb@spangdahlem.af.mil">52 MDG</option>
<option value="52amds.bb@spangdahlem.af.mil"> - 52 AMDS</option>
<option value="52ds.bb@spangdahlem.af.mil"> - 52 DS</option>
<option value="52mdos.bb@spangdahlem.af.mil"> - 52 MDOS</option>
<option value="52mdss.bb@spangdahlem.af.mil"> - 52 MDSS</option>
<option value="52msg.bb@spangdahlem.af.mil">52 MSG</option>
<option value="470abs.bb@spangdahlem.af.mil"> - 470 ABS</option>
<option value="52ces.bb@spangdahlem.af.mil"> - 52 CES</option>
<option value="52cons.bb@spangdahlem.af.mil"> - 52 CONS</option>
<option value="52cs.webmaster@spangdahlem.af.mil"> - 52 CS</option>
<option value="52lrs.bb@spangdahlem.af.mil"> - 52 LRS</option>
<option value="52mss.bb@spangdahlem.af.mil"> - 52 MSS</option>
<option value="52sfs.bb@spangdahlem.af.mil"> - 52 SFS</option>
<option value="52svs.bb@spangdahlem.af.mil"> - 52 SVS</option>
<option value="52mxg.bb@spangdahlem.af.mil">52 MXG</option>
<option value="52amxs.bb@spangdahlem.af.mil"> - 52 AMXS</option>
<option value="52cms.bb@spangdahlem.af.mil"> - 52 CMS</option>
<option value="52ems.bb@spangdahlem.af.mil"> - 52 EMS</option>
<option value="52mos.bb@spangdahlem.af.mil"> - 52 MOS</option>
<option value="52munss.bb@spangdahlem.af.mil"> - 52 MUNSS</option>
<option value="752munss.bb@spangdahlem.af.mil"> - 752 MUNSS</option>
<option value="852munss.bb@spangdahlem.af.mil"> - 852 MUNSS</option>
<option value="52og.bb@spangdahlem.af.mil">52 OG</option>
<option value="22fs.bb@spangdahlem.af.mil"> - 22 FS</option>
<option value="23fs.bb@spangdahlem.af.mil"> - 23 FS</option>
<option value="81fs.bb@spangdahlem.af.mil"> - 81 FS</option>
<option value="52oss.bb@spangdahlem.af.mil"> - 52 OSS</option>
<option value="606acs.bb@spangdahlem.af.mil"> - 606 ACS</option>

</select>

pyro
11-13-2003, 07:58 AM
The reason that does not work is because the JavaScript runs before any of the <options> for the <select> tag load. Either move the JavaScript to somewhere after the </select> tag, or put an onload statement in the code, to make it run after the page has finished loading.

Khalid Ali
11-13-2003, 08:35 PM
Or simply do not use document.write statements if you are not sure about your logic...