【发布时间】:2014-06-19 06:35:28
【问题描述】:
我希望当检查表单(form1)的“是”单选按钮时,出现一个新表单(Form2),其中两个单选按钮及其文本“是”和“否”。通过form1的“是”按钮中的“onclick”事件,我设法使用两个单选按钮使新表单出现,但我无法显示它们的文本。由于单选按钮没有“innerHTML”,我尝试将文本添加为纯文本或“标签”,但它不起作用。 是语法问题还是逻辑问题(不能与按钮同时创建文本)?感谢您的帮助。
在我的 HTML 正文中,我有这个:
<form id="form1">
<input type="radio" id= "form1_no" value="no" checked>
<label for = "form1_no" >No</label>
<input type="radio" id= "form1_yes" value="yes" onClick= exam()>
<label for = "form2_yes" >Yes</label>
</form>
函数exam()是:
<script type='application/javascript'>
function exam() {
var inputno = document.createElement("input");
inputno.type = "radio";
inputno.id = "form2_no";
inputno.value = "no";
inputno.onclick = function () {alert("I select No in Form 2")};
document.getElementById("form2").appendChild(inputno); // this is working
var inputyes = document.createElement("input");
inputyes.type = "radio";
inputyes.id = "form2_yes";
inputyes.value ="yes";
inputyes.onclick = function () {alert("I select Yes in Form 2")};
document.getElementById("form2").appendChild(inputyes); // this is working
// now, the code that is not working:
// 1st tentative (adding "Yes" and "No" as plain text after their radio button):
var textno = "No";
document.getElementById("form2_no").appendChild(textno);
var textyes = "Yes";
document.getElementById("form2_yes").appendChild(textyes);
// 2nd tentative (adding "Yes" and "No" as labels to their radio button):
var labelno = document.createElement("label");
labelno.for="form2_no";
labelno.innerHTML = "No";
document.getElementById("form2_no").appendChild(labelno);
var labelyes = document.createElement("label");
labelyes.for="form2_yes";
labelyes.innerHTML = "Yes";
document.getElementById("form2_yes").appendChild(labelyes);
}
</script>
【问题讨论】:
标签: javascript html forms javascript-events