2013-02-28 54 views
0
var submit = document.getElementById('submit'), 
    div = document.getElementById('div'); 

div.onmouseover = function sum() { 
    value1 = document.getElementById('form').value; 
    value1 = document.getElementById('form2').value; 

    sum = value1 + value2; 
} 

submit.onsubmit = function print() { 
    div.innerHTML = sum; 
} 

由於某些原因,代碼不起作用;但是,如果我當我使用onsubmit而不是onclick時,Javascript代碼不起作用

submit.onclick = function print() { 
    div.innerHTML = sum; 
} 

onclick,而不是onsubmit更換最後,工作完全正常,即使sum在外面計算,之前我按提交。就好像每個變量變成null當我輸入提交,即使變量甚至沒有存儲在表單域中。

+0

document.getElementById('submit')'是什麼類型的元素? 'submit'事件只能在'form'元素上觸發。 – 2013-02-28 21:20:22

+0

submit =按鈕 – 2013-02-28 21:33:55

回答

1

onsubmit事件處理程序必須附加到form元素,而不是input元素。

假設你有一個form,你可以做的表單元素,而不是按鈕

submit.form.onsubmit = ... 
+0

它不起作用 – 2013-02-28 21:32:56

+1

@Matthew:*「它不起作用」*不是有用的問題或錯誤描述。我的烤麪包機也不起作用。請更精確一點,然後我們可以提供更好的幫助。 – 2013-02-28 21:35:15

+0

而HTML會很有用,所以我們不必猜測。事實上,一個[小提琴](http://jsfiddle.net)展示問題可能會確保給出一個好的解決方案。 – 2013-02-28 21:37:19

0

onsubmit事件觸發。嘗試將onsubmit處理程序移至表單,而不是

+0

我試過form.form.onsubmit,它仍然無法正常工作。它工作,如果我寫submit.onclick,但。 – 2013-02-28 21:37:54

+0

submit.form.onsubmit不起作用; submit.onsubmit不起作用 – 2013-02-28 21:51:08

+0

submit.form.onsubmit作品nevermind謝謝 – 2013-02-28 21:52:47