2012-06-17 3 views
0

В Jfiddle работает следующее: но когда я использую его в исходной форме, поля total_full и total_half рассчитываются автоматически из других полей и, следовательно, не имеют события keyup или keydown? поэтому поле «sub_total» не вычисляется при обновлении полей «total_full» и total_half?calulating javascript event on keyup

HTML

<td>Total Cost Full Day</td> 
<input type="text" name="total_full" id="total_full" /> 

<td>&nbsp;</td> 
    <td>&nbsp;</td> 

<td>Total Cost Half Day</td> 
<input type="text" name="total_half" id="total_half" /> 

<td>&nbsp;</td> 
    <td>&nbsp;</td> 

JAVASCRIPT

//Calculate Sub Total 


function calculateSubTotal() { 

    var SubTotal = +document.getElementById("total_full").value + +document.getElementById("total_half").value + +document.getElementById("add_on").value; 

    document.getElementById("sub_total").value = isNaN(SubTotal) ? 0 : SubTotal; 
} 


document.getElementById("add_on").onchange = calculateSubTotal; 
document.getElementById("add_on").onkeyup = calculateSubTotal; 
document.getElementById("total_full").onchange = calculateSubTotal; 
document.getElementById("total_full").onkeyup = calculateSubTotal; 
document.getElementById("total_half").onchange = calculateSubTotal; 
document.getElementById("total_half").onkeyup = calculateSubTotal; 
calculateSubTotal; 
document.getElementById("total_half").onchange = calculateSubTotal; 
document.getElementById("total_half").onkeyup = calculateSubTotal; 

http://jsfiddle.net/newbie123/ue62p/5/

+0

Где вы размещаете javascript-код в своем файле? –

+0

@ FabrícioMatté в тегах скриптов в нижней части HTML – user1426583

+0

Он должен работать тогда. Проверьте свою консоль JS (IE/Chrome: F12; Firefox: Ctrl + Shift + K) и проверьте, есть ли какие-либо ошибки в консоли. (открыть консоль, обновить страницу, ввести некоторые цифры в полях) –

ответ

1

OnChange срабатывает только когда пользователь обновляет значение. Если вам нужна эта функциональность, вам придется добавить calculateSubTotal в события, где total_full и total_half обновляются.