tags:

views:

177

answers:

4

I want to access the 'name' value of a form I have by using document.write(document.getElementById('listing').name);

This doesn't output anything which I found odd. What is even more odd is the following.

It will only bring back "NordstromListing" when I get rid of everything underneath box4. I have absolutely no clue to why that is. If anybody could point out what I'm doing wrong, I would appreciate that.

Thanks!

<form action="NordstromListing.php" id="listing" name="NordstromListing" method="POST" onSubmit="return validate_form ( );">

   <label>Enter Item Number:&nbsp;</label> <input type="text" size="15" name="itemnum" />
   <p>Verify Item Number: <input type="text" size="15" name="itemnumverify" /></p>

   <label>MSRP Price: &nbsp; $ &nbsp; <input type="text" size="15" id ="msrp" name="msrp" onBlur="discount()" onKeyup="discount()" onChange="discount(.90)"></input>
    <br />
   <label>Discounted Price: $ <input readonly type="text" size="15" id="edprice" name="edprice"></input>
    <br />

   <label>Item Category: </label><select name="itemtype" class="itemcat" onchange="if (this.selectedIndex==1){this.form['box'].style.visibility='visible'}else {this.form['box'].style.visibility='hidden'}; 
   if (this.selectedIndex==2){this.form['box2'].style.visibility='visible'}else {this.form['box2'].style.visibility='hidden'};
   if (this.selectedIndex==2){this.form['box25'].style.visibility='visible'}else {this.form['box25'].style.visibility='hidden'};
   if (this.selectedIndex==3){this.form['box3'].style.visibility='visible'}else {this.form['box3'].style.visibility='hidden'};
   if (this.selectedIndex==4){this.form['box4'].style.visibility='visible'}else {this.form['box4'].style.visibility='hidden'};
   if (this.selectedIndex==5){this.form['box5'].style.visibility='visible'}else {this.form['box5'].style.visibility='hidden'};
   if (this.selectedIndex==6){this.form['box6'].style.visibility='visible'}else {this.form['box6'].style.visibility='hidden'};
   if (this.selectedIndex==7){this.form['box7'].style.visibility='visible'}else {this.form['box7'].style.visibility='hidden'};
   if (this.selectedIndex==8){this.form['box8'].style.visibility='visible'}else {this.form['box8'].style.visibility='hidden'};">
   <option value="">Select one</option>
   <option value="Men's top">Men's Top</option>
   <option value="Men's Bottoms">Men's Bottoms</option>
   <option value="Men's Sneakers">Men's Sneakers</option>
   <option value="Lady's Top">Lady's Top</option>
   <option value="Ladys Dress">Lady's Dress</option>
   <option value="Lady's Bottoms">Lady's Bottoms</option>
   <option value="Lady's Shoes">Lady's Shoes</option>
   <option value="Accessory / Other">Accessory(Other)</option>
   </select>

   <br />

   <span>Item Size: </span><select class="reqd" style="visibility:hidden;" type="text" name="box">
   <option value="">Select</option>
   <option value="Small">Small</option>
   <option value="Medium">Medium</option>
   <option value="Large">Large</option>
   <option value="X-Large">X-Large</option>
   <option value="XX-Large">XX-Large</option>
   </select>

   <select class="reqd" style="visibility:hidden;" type="text" name="box2">
   <option value="">Waist</option>
   <option value="28">28</option>
   <option value="29">29</option>
   <option value="30">30</option>
   <option value="31">31</option>
   <option value="32">32</option>
   <option value="33">33</option>
   <option value="34">34</option>
   <option value="35">36</option>
   <option value="36">37</option>
   <option value="37">38</option>
   </select>

   <select class="reqd2" style="visibility:hidden;" type="text" name="box25">
   <option value="">Length</option>
   <option value="28">28</option>
   <option value="29">29</option>
   <option value="30">30</option>
   <option value="31">31</option>
   <option value="32">32</option>
   <option value="33">33</option>
   <option value="34">34</option>
   <option value="36">36</option>
   </select>

   <select class="reqd" style="visibility:hidden;" type="text" name="box3">
   <option value="">Select</option>
   <option value="7">7</option>
   <option value="7.5">7.5</option>
   <option value="8">8</option>
   <option value="8.5">8.5</option>
   <option value="9">9</option>
   <option value="9.5">9.5</option>
   <option value="10">10</option>
   <option value="10.5">10.5</option>
   <option value="11">11</option>
   <option value="11.5">11.5</option>
   <option value="12">12</option>
   <option value="12.5">12.5</option>
   <option value="13">13</option>
   </select>

   <select class="reqd" style="visibility:hidden;" type="text" name="box4">
   <option value="">Select</option>
   <option value="X-Small">X-Small</option>
   <option value="Small">Small</option>
   <option value="Medium">Medium</option>
   <option value="Large">Large</option>
   <option value="X-Large">X-Large</option>
   </select>


   <select class="reqd" style="visibility:hidden;" type="text" name="box5">
   <option value="">Select</option>
   <option value="0">0</option>
   <option value="2">2</option>
   <option value="4">4</option>
   <option value="6">6</option>
   <option value="8">8</option>
   <option value="10">10</option>
   <option value="12">12</option>
   <option value="14">14</option>
   </select>

   <select class="reqd" style="visibility:hidden;" type="text" name="box6">
   <option value="">Select</option>
   <option value="24">24</option>
   <option value="25">25</option>
   <option value="26">26</option>
   <option value="27">27</option>
   <option value="28">28</option>
   <option value="29">29</option>
   <option value="30">30</option>
   <option value="31">31</option>
   <option value="32">32</option>
   </select>

   <select class="reqd" style="visibility:hidden;" type="text" name="box7">
   <option value="">Select</option>
   <option value="5">5</option>
   <option value="5.5">5.5</option>
   <option value="6">6</option>
   <option value="6.5">6.5</option>
   <option value="7">7</option>
   <option value="7.5">7.5</option>
   <option value="8">8</option>
   <option value="8.5">8.5</option>
   <option value="9">9</option>
   <option value="9.5">9.5</option>
   <option value="10">10</option>
   <option value="10.5">10.5</option>
   <option value="11">11</option>
   </select>


   <input class="reqd" style="visibility:hidden;" type="text" name="box8" size="20" value="Specify..."/>

   <br />

   <label>Item Color: </label><input class="reqd" name="itemcolor" type="text" size="16" />

   <br />

   <label>Link (Optional): </label><input name="link" type="text" size="16" />

   <br />
   <br />

   <input type="submit" value="Submit" />

   </form>
A: 

Try this:

document.write(document.getElementById('listing').getAttribute('name'));
Ropstah
Doesn't do anything.
MrCheetoDust
A: 

try this ?

<script type="text/javascript">
    x=document.getElementsByTagName('form');

    for(i=0;i<x.length;i++)
    {
        document.write(x.item(i).attributes['name'].name);
        document.write(" = ");
        document.write(x.item(i).attributes['name'].value);
        document.write("<br />");
    }

</script>

Works for me ^^

Ar3s
(just to be precise this code will output you all your form namessomewhere in your document depending on when you call the script ^^ for this reason and as José does you'd better use alert than doc.write ...)
Ar3s
A: 

if you are trying to access the element by name in a form you can simply use this

<html>
<head>
<script>
alert(f1.in1);  // formName.elementName
</script>
</head>
<body>
<form id='f1' name='f1'>
<input id='in1' name='in1' value='Hello'>
</form>
</body
</html>
suprit chaudhary
I don't think he tries to get an element by it's name but to get the name of the element (which is odd but most awesome discoveries came from odd ideas ;p )
Ar3s
A: 

If you are after the name of the form, this works (although it seems a bit redundant).

document.NordstromListing.name

If you are after the value of one of the form fields, you can do it like this:

document.NordstromListing.msrp.value
Sohnee