2010-09-02 197 views
1

所以我有一个注册页面,在Firefox中正常工作,但IE 6-8给我一个'document.info.altDate1.value'为空或提交时不是对象错误。IE浏览器和Javascript

这是身体:

<DIV id=wrapper> 
<DIV id=outer-space> 
<DIV id=hfeed> 
<H1>Register for <SPAN>Orientation</SPAN></H1> 

<p style="width:550px;">Orientation fee is NON-REFUNDABLE, but can be applied to a later term. By making an online payment, an additional $3.00 processing fee will be added to the $105.00 new student fee. 
</p> 

<FORM id=info method=post name=info action=/scripts/mailform.asp><INPUT [email protected] type=hidden name=mf_to> 
<FIELDSET id=step_1><LEGEND>Step 1</LEGEND><LABEL for=num_attendees>I am a...</LABEL>  <BR><SELECT id=StudentType name=StudentType> <OPTION id=0 selected value=0>Please Choose</OPTION> <OPTION id=F value=F>Freshman</OPTION> <OPTION id=T value=T>Transfer</OPTION></SELECT> <BR><INPUT type=hidden name=amount> 
<DIV style="PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #333; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; PADDING-TOP: 5px" id=attendee_1_wrap class="name_wrap push"> 
<P>I would like to attend Freshman Orientation on... </P> 


<P><SELECT id=freshmandate name=""> <OPTION selected value=none></OPTION> <OPTION value=08/20-8:30>Aug. 20 - 8:30</OPTION> <OPTION value=08/21-9:45>Aug. 21 - 9:45</OPTION>  <OPTION value=08/22-8:30>Aug. 22 - 8:30</OPTION> <OPTION value=08/23-9:45>Aug. 23 - 9:45</OPTION></SELECT> </P></DIV> 
<DIV style="PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #333; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; PADDING-TOP: 5px" id=attendee_2_wrap class="name_wrap push"> 
<P>I would like to attend Transfer Orientation on... </P> 

<P><SELECT id=transferdate name=""> <OPTION selected value=none></OPTION> <OPTION value=08/17-8:30>Aug. 17 - 8:30</OPTION> <OPTION value=08/17-9:45>Aug. 17 - 9:45</OPTION>  <OPTION value=08/18-8:30>Aug. 18 - 8:30</OPTION> <OPTION value=08/18-9:45>Aug. 18 - 9:45</OPTION></SELECT> </P></DIV><BR> 
<P><LABEL for=FirstName>First Name: </LABEL><INPUT id=FirstName></INPUT> </P> 
<P><LABEL for=LastName>Last Name: </LABEL><INPUT id=LastName class=name_input></INPUT> </P> 
<P><LABEL for=Zid>Z-ID: </LABEL><INPUT id=Zid name=StudentID></INPUT> </P> 
<P>Number of Guests: <SELECT name=Guests> <OPTION selected value=0>0</OPTION> <OPTION value=1>1</OPTION> <OPTION value=2>2</OPTION></SELECT></P> 
<P><LABEL for=email>Email: </LABEL><INPUT id=Email class="required email" name=Email> </P> 
<P><LABEL for=Address>Street Address: </LABEL><INPUT id=Address maxLength=75 name=Address> </P> 
<P><LABEL for=City>City: </LABEL><INPUT id=City name=City> </P> 
<P><LABEL for=State>State: </LABEL><SELECT id=State name=State> <OPTION selected value=IL>IL</OPTION> <OPTION value=AL>AL</OPTION> <OPTION value=AK>AK</OPTION> <OPTION value=AZ>AZ</OPTION> <OPTION value=AR>AR</OPTION> <OPTION value=CA>CA</OPTION> <OPTION value=CO>CO</OPTION> <OPTION value=CT>CT</OPTION> <OPTION value=DE>DE</OPTION> <OPTION value=DC>DC</OPTION> <OPTION value=FL>FL</OPTION> <OPTION value=GA>GA</OPTION> <OPTION value=HI>HI</OPTION> <OPTION value=ID>ID</OPTION> <OPTION value=IN>IN</OPTION> <OPTION value=IA>IA</OPTION> <OPTION value=KS>KS</OPTION> <OPTION value=KY>KY</OPTION> <OPTION value=LA>LA</OPTION> <OPTION value=ME>ME</OPTION> <OPTION value=MD>MD</OPTION> <OPTION value=MA>MA</OPTION> <OPTION value=MI>MI</OPTION> <OPTION value=MN>MN</OPTION> <OPTION value=MS>MS</OPTION> <OPTION value=MO>MO</OPTION> <OPTION value=MT>MT</OPTION> <OPTION value=NE>NE</OPTION> <OPTION value=NV>NV</OPTION> <OPTION value=NH>NH</OPTION> <OPTION value=NJ>NJ</OPTION> <OPTION value=NM>NM</OPTION> <OPTION value=NY>NY</OPTION> <OPTION value=NC>NC</OPTION> <OPTION value=ND>ND</OPTION> <OPTION value=OH>OH</OPTION> <OPTION value=OK>OK</OPTION> <OPTION value=OR>OR</OPTION> <OPTION value=PA>PA</OPTION> <OPTION value=RI>RI</OPTION> <OPTION value=SC>SC</OPTION> <OPTION value=SD>SD</OPTION> <OPTION value=TN>TN</OPTION> <OPTION value=TX>TX</OPTION> <OPTION value=UT>UT</OPTION> <OPTION value=VT>VT</OPTION> <OPTION value=VA>VA</OPTION> <OPTION value=WA>WA</OPTION> <OPTION value=WV>WV</OPTION> <OPTION value=WI>WI</OPTION> <OPTION value=WY>WY</OPTION></SELECT> </P> 
<P><LABEL for=Zip>Zip Code: </LABEL><INPUT id=Zip maxLength=10 size=5 name=Zip> </P> 
<P><LABEL for=Phone>Telephone: </LABEL><INPUT id=Phone maxLength=13 size=10 name=Phone> </P><INPUT id=VCheck type=checkbox name=VCheck></INPUT> 
<P style="DISPLAY: inline">I am a military veteran</P><BR><INPUT id=CCheck type=checkbox name=CCheck></INPUT> 
<P style="DISPLAY: inline">I am a commuter</P><BR><INPUT id=NTCheck type=checkbox name=NTCheck></INPUT> 
<P style="DISPLAY: inline">I am 25 years or older</P></FIELDSET> 
<FIELDSET id=step_2><LEGEND>Step 2</LEGEND> 
<P>Do you need to change your major? </P><INPUT id=major_name_toggle_on type=radio name=major_name_toggle_group></INPUT> <LABEL for=major_name_toggle_on>Yes</LABEL> &#8195;  <INPUT id=major_name_toggle_off type=radio name=major_name_toggle_group></INPUT> <LABEL for=major_name_toggle_off>No</LABEL> 
<DIV id=major_name_wrap><LABEL for=major_name>Desired Major:<BR><SPAN style="COLOR: #ccc; FONT-SIZE: 10px">(Ex. Communication)</SPAN> </LABEL><INPUT id=major_name></INPUT> <LABEL for=major_emphasis>Desired Emphasis:<BR><SPAN style="COLOR: #ccc; FONT-SIZE: 10px">(Ex. Media Studies)</SPAN> </LABEL><INPUT id=major_name></INPUT> </DIV> 
<DIV class=push> 
<P>Will anyone in your group require special accommodations? </P><INPUT id=special_accommodations_toggle_on type=radio name=special_accommodations_toggle></INPUT> <LABEL for=special_accommodations_toggle_on>Yes</LABEL> &#8195; <INPUT id=special_accommodations_toggle_off type=radio name=special_accommodations_toggle></INPUT> <LABEL for=special_accommodations_toggle_off>No</LABEL> </DIV> 
<DIV id=special_accommodations_wrap><LABEL for=special_accomodations_text>Please explain below: </LABEL><TEXTAREA id=special_accomodations_text rows=10 cols=10></TEXTAREA> </DIV></FIELDSET> 
<FIELDSET id=step_3><LEGEND>Step 3</LEGEND><INPUT id=UCheck value=check type=checkbox></INPUT> 
<P style="DISPLAY: inline">Are you ready to rock? </P><BR><BR> 
<P><INPUT value=Clear type=reset> <INPUT onclick=javascript:PaymentButtonClick() value="Go to Cart" type=button name=PaymentButton> </P></FIELDSET> </FORM> 
<FORM method=post name=addform action=https://webappsqa.niunt.niu.edu/CreditCard/servlet/Shopping_Cart_Add_Item_Servlet><INPUT value=orient type=hidden name=Dept_ID> <INPUT value=Orientation type=hidden name=Product_Name> <INPUT value=z000000 type=hidden name=Product_Code> <INPUT type=hidden name=amount> <INPUT value=/orientation/index.shtml type=hidden name=return_link> <INPUT value=http://www.niu.edu type=hidden name=return_server> <INPUT value=1 type=hidden name=quantity> <INPUT value=0 type=hidden name=tax> <INPUT value=0 type=hidden name=ship> <INPUT value=DQ83225 type=hidden name=sale_id> <INPUT value=401200 type=hidden name=sale_acct> </FORM> 
<SCRIPT language=Javascript> 


function PaymentButtonClick() { 


ComCheck=""; 
VetCheck=""; 
NonTrad=""; 


if (document.info.CCheck.checked==true) ComCheck="C"; 
if (document.info.VCheck.checked==true) VetCheck="V"; 
if (document.info.NTCheck.checked==true) NonTrad="N"; 


if (document.info.StudentType.value == 'F') 
    { 
    document.info.freshmandate.name = 'altDate1'; 
    document.info.amount.value = '105.00'; 
    } 

if (document.info.StudentType.value == 'T') 
    { 
    document.info.transferdate.name = 'altDate1'; 
    document.info.amount.value = '75.00'; 
    } 



document.addform.Product_Name.value = document.info.LastName.value 
     + "," + 
     document.info.FirstName.value 
     + "," + 
     document.info.StudentID.value 
     + "," + 
     document.info.altDate1.value 
     + "," + 
     document.info.Guests.value 
     + "," + 
     document.info.StudentType.value 
     + 
     ComCheck+VetCheck+NonTrad; 


document.addform.Product_Code.value = document.info.LastName.value; 
document.addform.amount.value = document.info.amount.value; 

if ((document.info.amount.value != "") && 
     (document.info.amount.value != "x")) { 

     if (document.info.LastName.value != "" || 
      document.info.FirstName.value != "") { 

       document.addform.submit(); 
     } 
     else { 
      alert("Please enter missing information"); 
     } 
    } 
    } 


    </SCRIPT> 
</DIV> 
<HR> 
</DIV><!-- End outer-space --> 
<HR> 
</DIV><!-- End wrapper --> 

我猜麻烦的是与此字段:

<SELECT id=freshmandate name=""> 

这一个:

<SELECT id=transferdate name=""> 

这种处理功能一起:

if (document.info.StudentType.value == 'F') 
    { 
    document.info.freshmandate.name = 'altDate1'; 
    document.info.amount.value = '105.00'; 
    } 

if (document.info.StudentType.value == 'T') 
    { 
    document.info.transferdate.name = 'altDate1'; 
    document.info.amount.value = '75.00'; 
    } 

一位朋友告诉我在IE中使用GetElementByID以获得更好的兼容性,但是我查了一下,不知道如何使它适用于我想要做的事情。

编辑1:我试着用以下徒劳无功地在Firefox它不再起作用:

if (document.info.StudentType.value == 'F') 
{ 
document.getElementById('freshmandate').name = 'altDate1'; 
else 
document.getElementById('transferdate').name = 'altDate1'; 
} 
+1

请显示*确切的行*错误发生在 – 2010-09-02 14:59:07

+0

我无法找到任何元素的'name'或'id'设置为'altDate1'。 – 2010-09-02 15:02:39

+0

这是jQuery为您解决的浏览器不一致问题的确切类型。这是一个选择吗? 因此,而不是document.info.LastName.value,它只是$(“#LastName”)。val()并适用于所有浏览器,没有奇怪的问题。 – Shane 2010-09-02 15:04:47

回答

2

你给select元素的id属性,但尝试使用name引用来引用它。

<SELECT id=freshmandate name=""> 

document.info.freshmandate.name = 'altDate1'; 

这是行不通的。无论是设置你的select元素,或者更好的(恕我直言)的name属性,使用document.getElementById

document.getElementById('freshmandate').name = 'altDate1'; 

但是为什么你设置的#freshmandatename财产摆在首位?你的目标是什么?

+0

前一个注册页面使用'name'将变量传递给购物车。我想我已经拥有了。我会试试这个。 – miles 2010-09-02 15:29:24

+0

@miles:是的,您需要'name'属性将变量传递给服务器。但这是下一页(新的一页)。 – 2010-09-02 15:34:37

+0

请参阅上面的编辑1 – miles 2010-09-02 16:25:08

相关问题