2010-03-01 48 views
1

好吧,我知道有一個簡單的方法來做到這一點,但它已經多年,因爲我已經做了很多的JavaScript計算訂單價格按日期選擇值

我的客戶對事件註冊的在線訂單形式(由開發以前的web dev。)。目前,訂單總額只有一個隱藏字段:

<INPUT value=78.00 type=hidden name=amount /> 

但我需要總來計算基礎上,他們選擇什麼日期:

<SELECT style="BACKGROUND-COLOR: #ffff99" name=altDate1> 
<OPTION value=04/09> Friday, April 9 </OPTION> 
<OPTION value=04/14> Wednesday, April 14 </OPTION> 
<OPTION value=04/16> Friday, April 16 </OPTION> 
<OPTION value=04/19> Monday, April 19 </OPTION> 
<OPTION value=04/29> Thursday, April 29 </OPTION> 
</SELECT> 

這是處理表單的JavaScript:

<SCRIPT language=Javascript> 

function PaymentButtonClick() { 

    document.addform.Product_Name.value = document.Information.StudentLastName.value + ","+ 
              document.Information.StudentFirstName.value+","+ 
              document.Information.StudentID.value+","+ 
              document.Information.altDate1.name+","+","+ 
              document.Information.Guests.value+ "," + 
              document.Information.StudentType.value; 

    document.addform.Product_Code.value = document.Information.StudentID.value; 


    if ((document.Information.UCheck.checked==true) && 
     (document.Information.altDate1.value != "") && 
     (document.Information.altDate1.value != "x")) { 

     if (document.Information.StudentLastName.value != "" || 
      document.Information.StudentFirstName.value != "" || 
      document.Information.StudentID.value != "") { 

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

</SCRIPT> 
+0

我已經清理了你的代碼,但是我不清楚你需要做什麼。您是否需要根據選定的週數計算總金額?這是一個多選?表單的其餘部分是什麼樣的? –

+0

對不起,這是一個選擇/選項字段。用戶選擇日期,輸入他們的聯繫信息,然後繼續付款。有點像會議/活動註冊。他們的付款在他們選擇的日期保留一個位置,但費用取決於他們選擇的日期。 – miles

回答

0

將此switch聲明插入您的表單處理函數中:

switch (document.Information.altDate1.value) { 
    case '04/09': 
     document.Information.amount.value = 78.00; 
     break; 
    case '04/14': 
     document.Information.amount.value = 79.00; 
     break; 
    case '04/16': 
     document.Information.amount.value = 80.00; 
     break; 
    case '04/19': 
     document.Information.amount.value = 81.00; 
     break; 
    case '04/29': 
     document.Information.amount.value = 82.00; 
     break; 
} 
+0

當我提交表單,我得到這個錯誤: 消息:「document.Information.amount」爲空或不是對象 線:193 字符:9 代碼:0 – miles

+0

奇怪。名爲「數量」的隱藏字段不在名爲「信息」的表單中嗎? –

+0

的日期選擇選項是「信息」 隱藏的輸入值是「addform」 有2種形式的頁面,「信息」和「addform行動=上...> 我試圖改變形式的名稱你給我的switch語句addform,但得到了與document.addform.amount相同的錯誤 從我記得,你永遠不需要在一個頁面上的2個表格。我責怪有這個天才的問題在我之前的工作 – miles