2012-06-05 188 views
0

我有一個網頁已經JavaScript的其他正常工作......除了這一個:javascript函數在Firefox和Safari瀏覽器不工作(只在Chrome)

<script> 
function add(numDaysToAdd) { 
    var data_in = new Date (document.WADAInsertForm.data_in.value); 
    var data_out = data_in.setDate(data_in.getDate()+numDaysToAdd); 
    var final_day = data_out.getDate(); 
    var final_month = data_out.getMonth() + 1; 
    var final_year = data_out.getFullYear(); 

    document.WADAInsertForm.data_out.value = final_year+'-'+final_month+'-'+final_day; 

    } 
</script> 

此腳本由一個「的OnChange」呼叫觸發與「OnClick」事件一起復選框。爲了澄清:

<input type="checkbox" name="product" value="Insurance plan: 1 month" id="product" onClick="this.form.price.value='41.40'" onChange="add(+30)"> 

當我測試在Chrome它所有的家庭作業的頁面:在「價格」字段中插入了價格值,並與合適的值更新「DATA_OUT」字段。

當我在Firefox和Safari中執行相同操作時,它只能使用「價格」設置。

任何建議或幫助? 感謝很多提前

米歇爾

回答

0

onClick無效。使用onclick

我覺得奇怪的是在複選框上同時有onclickonchange。您應該在onchange中包含您的onclick

1
onChange="add(+30)" 

這裏+30並不代表任何字符串或在腳本中的任意整數,將通過一個錯誤類型,以天添加到當前的日期,你可以使用這個腳本

<script type="text/javascript" language="javascript"> 
    function AddDays(toAdd) { 
     if (!toAdd || toAdd == '' || isNaN(toAdd)) return; 
     var d = new Date(); 
     d.setDate(d.getDate() + parseInt(toAdd)); 

     document.getElementById("result").innerHTML = d.getDate() + "/" + d.getMonth() + "/" + d.getFullYear(); 
    } 
</script> 
---------------------- UI --------------- 
    <div id="result"> 
    </div> 
    <input type="text" value="0" onkeyup="AddDays(this.value);" /> 
相關問題