2011-08-03 149 views
0

單選按鈕和JS吸。好吧,現在我已經從我的系統中得到了這裏是我的問題:我終於有了Javascript來確認單選按鈕的值後getElementById not playing nice with Radio ButtonsgetElementById,單選按鈕和document.write();

我可以警報的價值,但document.write();將無法工作?

這裏是我的代碼:

<html> 
<head> 
<script type="text/javascript"> 
function getRadioValue() { 
var y=document.getElementById('draftrequirement_2').value; 
document.write(y); 
return y; 
} 

window.onload = function() { alert(getRadioValue()); } 
</script> 
</head> 

<body> 
<input onchange="checkRadio()" type="radio" name="draftrequirement" value="na" id="draftrequirement_2" /> 
</body> 
</html> 
+1

呼叫*頁面後文件撰寫*加載完成後會導致調用* document.open *,這將**在任何寫作開始之前,清除整個文檔**,包括您的腳本。 – RobG

回答

-1
<html> 
<head> 
<script type="text/javascript"> 
function checkRadio() { 
var y=document.getElementById('draftrequirement_2').value; 
document.write(y); 
return y; 
} 


</script> 
</head> 

<body> 
<input onchange="checkRadio()" type="radio" name="draftrequirement" value="na"  id="draftrequirement_2" />NA 
</body> 
</html> 

使用此,它正在

1

在Firefox 5和Chrome 12我看到 'NA' 的警報和文檔兩者,因此文檔.write()似乎適用於這些瀏覽器。儘管如此,在窗口加載事件之後,無線電輸入不存在。

我可以問你爲什麼使用document.write()嗎?有很多操作DOM的選擇。從w3schools.com(http://www.w3schools.com/js/js_howto.asp)

注意:儘量避免在真實JavaScript代碼中使用document.write()。如果在函數中使用document.write(),或者在加載頁面後,整個HTML頁面將被覆蓋。但是,document.write()是在教程中演示JavaScript輸出的簡單方法。

0

請勿使用document.write()。永遠!

讓您的生活更輕鬆,並開始使用jQuery或類似的庫來操作DOM。

如果你需要,只有純JavaScript做,這應該工作:

<html> 
<head> 
<script type="text/javascript"> 
function checkRadio() { 
var y=document.getElementById('draftrequirement_2').value; 
document.getElementById('draftrequirement_2_message').innerHTML = y; 
} 

</script> 
</head> 

<body> 
<input onchange="checkRadio()" type="radio" name="draftrequirement" value="na" id="draftrequirement_2" /> 
<div id="draftrequirement_2_message" /> 
</body> 
</html>