0

我有一个页面,其他 javascripts 已经正常工作......除了这个:

<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 中做同样的事情时......它只适用于“价格”设置。

有什么建议或帮助吗?非常感谢提前

米歇尔

4

2 回答 2

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);" />
于 2012-06-05T12:27:06.780 回答
0

onClick无效。使用onclick.

而且我发现同时拥有onclickonchange在复选框上很奇怪。您应该onclickonchange.

于 2012-06-05T09:39:18.967 回答