2012-06-05 3 views
0

У меня есть страница с уже другими JavaScripts работает правильно ..., кроме этого один: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.

И я нахожу странным иметь и onclick, и onchange на флажке. Вы должны указать свой onclick в onchange.

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);" /> 
Смежные вопросы