2013-02-26 111 views
0

我試圖創建一個JavaScript窗體,我無法讓它工作。即將到來的錯誤是JavaScript窗體不起作用

  • 郵編應該是字母和數字:
  • 地址應該是字母數字:
  • 請各雜誌限制在500個拷貝或更少

    功能顯示(){ var totprice; var fname,lname,全名,addr,postocde,電子郵件,電話,lstitem,數量,性別; var prditem1,prditem2,prditem3,summer2012,autumn2012,winter2012,totqty; var orddate; fname = document.form1.fname.value; lname = document.form1.lname.value; //全名= fname +「」+ lname; gender = document.form1.gender.value; addr = document.form1.address.value; postcode = document.form1.address.value; email = document.form1.email.value; telephone = document.form1.telephone.value; prditem1 = document.form1.summer.value; prditem2 = document.form1.autumn.value; prditem3 = document.form1.winter.value; summer2012 = parseInt(document.form1.summer2012.value);autumn2012 = parseInt(document.form1.autumn2012.value); winter2012 = parseInt(document.form1.winter2012.value); totqty = summer2012 + autumn2012 + winter2012; orddate = new Date(); dispdate = orddate.getMonth()+ 1 +「 - 」+ orddate.getDate()+「 - 」+ orddate.getYear(); var alertmsg =''; var alphabetic =/^ [a-zàâçéèêëîïôëùüÿñ - ] * $/i var alphanumeric = /^[a-zA-Z0-9/./,/-/\\n]+$/; var addrtxt = addr.replace(/(\ x0a \ x0d | \ x0d \ x0a)/ g,「\ n」); ((A-PR-UWYZ)[A-HK-Y] [0-9] [0-9]α)|(([A-PR-UWYZ] [A-HK-Y])[0-9] [A-HK-Y] [0-9] [A-HJKSTUW])|([A-PR-UWYZ]))[0-9] [ABD- HJLNP-UW-Z] {2}))$/ var chktelephone =/^ 0 \ d {9,10} $/ var chkEmail = /^[email protected]+..+$/ var chkquantity =/^([1-9]?\ d | [1-4] \ d {2} | 500)$/ if(chkEmail.test(email)== false){alertmsg = alertmsg +「請輸入有效電子郵件。」 +「\ n」; ((alphabetic.test(fname)== false)||(alphabetic.test(lname)== false)){ alertmsg = alertmsg +「名稱應該以字母表示:」+「\ n」;如果(chktelephone.test(telephone)== false)alertmsg = alertmsg +「電話應該是數字:」+「\ n」;} if(chkpostcode.test(postcode)== false){ alertmsg = alertmsg +「郵編應以字母和數字表示:」+「\ n」; } if(alphanumeric.test(addrtxt)== false){alert} = alertmsg +「地址應該是字母數字:」+「\ n」; } var gender = document.form1.gender [0] .checked; var gender1 = document.form1.gender [1] .checked; 如果(!性別& &!gender1){ ALERTMSG = ALERTMSG + 「請選擇您的性別\ n」 個 } 如果(((document.form1.summer.checked)& &(summer2012 < = 0))|| ((document.form1.autumn。選中)& &(autumn2012 < = 0))|| ((document.form1.winter.checked)& &(winter2012 < = 0))){ alertmsg = alertmsg +「請輸入數量」+「\ n」; ((!document.form1.summer.checked)& &(summer2012> 0))||((!document.form1.autumn.checked)& &(autumn2012> 0))||((! document.form1.winter.checked)& &(winter2012> 0))){ alertmsg = alertmsg +「請選擇產品」+「\ n」; } var f = document.form1; 如果(!f.summer.checked & & f.autumn.checked & & f.winter.checked!){ ALERTMSG = ALERTMSG + 「請選擇該雜誌的至少一個版的」 + 「\ n」;如果(chkquantity.test(數量)< = 500){ alertmsg = alertmsg +「請將每個雜誌限制爲500份或更少:」+「\ n」; } if(alertmsg!=「」){ alertmsg =「請輸入以下值\ n」+ alertmsg; (alertmsg); } else { fullname = formatName(fname,lname); totprice = totalprice(); } // alert(「感謝您提交詳細信息」); function totalprice(){ var totprice = 0; var price = new Array(); 價格[0] = 20.00; 價格[1] = 20.00; 價格[2] = 20.00; var quantity = new Array(); quantity [0] = parseInt(document.form1.summer2012.value); quantity [1] = parseInt(document.form1.autumn2012.value); quantity [2] = parseInt(document.form1.winter2012.value);對於(i = 0; i < 3; i ++){ totprice = totprice + quantity [i] * price [i]; } return(totprice); }}

任何人都可以建議我做了什麼錯?任何幫助真的會被讚賞。感謝

下面是HTML -

<form name="form1" method="post"> 
    <fieldset id="fieldset"> 
     <legend id="legend">Order the latest Saraysounds Magazine</legend> 

<table width="500" border=0 align="left" cellpadding="4" cellspacing="4"> 


     <tr> 
      <td colspan="2"><div align="left">First 
       Name</div></td> 
      <td colspan="2"><input type="text" name="fname"/> 
      </td> 
     </tr> 
     <tr> 
      <td colspan="2"><div align="left">Second 
       Name</div></td> 
      <td colspan="2"> 
      <input type="text" name="lname"/> 
     </td> 
     </tr> 

     <tr> 
      <td colspan="2"><div align="left">Gender</div></td> 
      <td colspan="2"> 
      <input type="radio" name="gender" value="M"/> 
      Male 
      <input type="radio" name="gender" value="F"/> 
      Female </td> 
     </tr> 

     <tr> 
      <td colspan="2"><div align="left">Address</div></td> 
      <td colspan="2"><textarea name="address" cols="30" rows=5 col=40 wrap=soft>  </textarea> 
      </td> 
      </tr> 
      <tr> 
      <td colspan="2"><div align="left">Postcode</div></td> 
      <td colspan="2"> <input type="text" name="postcode"/> 
     </td> 
    </tr> 

     <tr> 
     <td colspan="2"><div align="left">Email</div></td> 
     <td colspan="2"> 
     <input type="text" name="email"/> 
     </td> 
    </tr> 

    <tr> 
     <td colspan="2"><div align="left">Telephone</div></td> 
     <td colspan="2"> 
     <input type="text" name="telephone"/> 
     </td> 
    </tr> 


    <tr> 
      <td colspan="4"><center> 
       <strong>Select 
       Magazine</strong> 
      </center></td> 
      </tr> 
      <tr> 
      <td width="123"><center> 
       <strong>Product Name</strong> 
      </center></td> 
      <td width="30" ><center> 
       <strong></strong> 
      </center></td> 
       <td ><center> 
       <strong>Price</strong> 
      </center></td> 
       <td> 
       <strong>Quantity</strong> 
      </td> 
      </tr> 
      <tr> 
      <td align="right">Summer 2012 
       </td> 
      <td> 
       <input type="checkbox" name="summer" value="Summer 2012"/> 
      </td> 
      <td align="center" width="69"><div align="right">20.00 </div></td> 
      <td width="216"><input name="summer2012" type="text" size="5" value="0"/></td> 
      </tr> 
     <tr> 
      <td align="right">Autumn 2012 
      </td> 
      <td> 
       <input type="checkbox" name="autumn" value="Autumn 2012"/> 
      </td> 
      <td align="center" width="69"><div align="right">20.00 </div></td> 
      <td><input name="autumn2012" type="text" size="5" value="0"/></td> 
     </tr> 
     <tr> 
      <td align="right">Winter 2012 
      </td> 
      <td> 
       <input type="checkbox" name="winter" value="Winter 2012"/> 
      </td> 
      <td align="center" width="69"><div align="right">20.00</div></td> 
      <td><input name="winter2012" type="text" size="5" value="0"/></td> 
     </tr> 

      <tr> 
      <td align="center" colspan="4"><input name="button" type="button" onClick="javascript:display()" value="Submit"/> 
       <input type="reset" value="Clear Form"/> 
      </td> 
      </tr> 
     </table> 

</fieldset> 
</form> 
+0

也請顯示HTML ...(3周很長時間...) – ppeterka 2013-02-26 19:31:09

+4

請提供給我們一個鏈接到[jsfiddle](http://jsfiddle.net/)您的代碼示例,以便我們可以幫你! – 2013-02-26 19:31:12

+1

什麼不適用於它?究竟是什麼錯誤? – epascarello 2013-02-26 19:32:50

回答

0

修改這些:

腳本

var alphanumeric = /^[a-zA-Z0-9\.\,\-\n]+$/; 

var quantity = new Array(); 
quantity[0] = parseInt(document.form1.summer2012.value); 
quantity[1] = parseInt(document.form1.autumn2012.value); 
quantity[2] = parseInt(document.form1.winter2012.value); 
if (quantity[0] > 500 || quantity[1] > 500 || quantity[2] > 500) { 
    alertmsg = alertmsg + "Please limit each magazine to 500 copies or less:" + "\n"; 
} 

HTML

<td colspan="2"><textarea name="address" cols="30" rows=5 col=40 wrap=soft></textarea> 
+0

的正則表達式中出現了什麼問題我修改了數量並且沒有出現錯誤消息,但它允許我輸入超過500個副本? – user2073133 2013-02-26 20:18:13