我在尝试使用" onchange"将文本字段添加到我的表单时遇到了javascript问题,这是代码:
<!DOCTYPE html>
<html>
<body>
<form id="formdemo">
</form>
<p>Select a new car from the list.</p>
<select id="mySelect" onchange="myFunction()">
<option value="Volvo">33
<option value="1">1
<option value="Audi">Audi
<option value="BMW">BMW
<option value="Mercedes">Mercedes
<option value="Volvo">Volvo
</select>
<script>
function myFunction() {
if (document.getElementById("mySelect").value == "1") {
document.getElementById("formdemo").innerHTML = " First name: <input type = "text" name ="firstname">"
}
}
</script>
</body>
</html>
正如您所看到的,我想在用户选择&#34; 1&#34;时生成文本字段,但问题是当我选择&#34; 1&#34;值文本字段不会出现。
但是当我删除&#34;输入类型&#34;来自javascript的代码,代码如下所示:
<script>
function myFunction() {
if (document.getElementById("mySelect").value == "1") {
document.getElementById("formdemo").innerHTML = " First name:"
}
}
</script>
它有效!!它显示了&#34;名字:&#34;到网站。 这个方法我只是用于字符串还是仅用于添加段落,我应该使用另一种方法来添加表单,或者我使用了错误的语法?
感谢您阅读本文,祝您有个美好的一天。
答案 0 :(得分:0)
你的代码很好,只是在innterHTML中你有一点错误。
document.getElementById("formdemo").innerHTML = " First name: <input type = "text" name ="firstname">"
应该像
document.getElementById("formdemo").innerHTML = " First name: <input type='text' name='firstname'>"
答案 1 :(得分:0)
你在String输入中错了:
<form id="formdemo">
</form>
<p>Select a new car from the list.</p>
<script>
function myFunction() {
if (document.getElementById("mySelect").value == "1") {
document.getElementById("formdemo").innerHTML =
"First name: <input type=\"text\" name=\"firstname\">";
}
}
</script>
<select id="mySelect" onchange="myFunction()">
<option value="Volvo">33</option>
<option value="1">1</option>
<option value="Audi">Audi</option>
<option value="BMW">BMW</option>
<option value="Mercedes">Mercedes</option>
<option value="Volvo">Volvo</option>
</select>
输入应该像"First name: <input type=\"text\" name=\"firstname\">";
这是一个小提琴:&gt; Fiddle
答案 2 :(得分:0)
你可以这样试试
var input = document.createElement("textarea");
div.appendChild(input);