Javascript 为什么HTMLDOM输入函数不工作?
我试图创建一个文本字段,在按下“go”按钮后立即显示输入。但当我按下按钮时,它会清除所有元素 HTMLJavascript 为什么HTMLDOM输入函数不工作?,javascript,html,dom,Javascript,Html,Dom,我试图创建一个文本字段,在按下“go”按钮后立即显示输入。但当我按下按钮时,它会清除所有元素 HTML <div id = "sideMenu"> <ul> <li id="r"> <span><img class="piece" src="vazirRed.png"></span> Red Player<input type="text" id="input" value="nam
<div id = "sideMenu">
<ul>
<li id="r">
<span><img class="piece" src="vazirRed.png"></span>
Red Player<input type="text" id="input" value="name">
<button onclick="write();">go</button>
</li>
<li>
<span><img class="piece" src="vazirBlue.png"></span>
Blue Player<input type="text" value="name">
<button onclick="write();">go</button>
</li>
</ul>
</div>
不能将函数命名为
write()
如果要调用onclick=write()
则调用函数document.write()
。所以你的DOM被清除了。你什么也得不到
重命名你的函数
将此行放入函数中,在正文中添加div
document.body.appendChild(name);
您只是在函数中使用write
关键字。然后调用document.write()
,它将用一个空字符串替换所有内容
替换为其他任何内容:
function writeIt() {
...
}
旁注:
- 使用
document.getElementById(“r”)
代替document.getElementById(“r”)
- 在你的小提琴中选择“No wrap in”可以让内联调用正常工作
不能使用write方法,因为write()方法将HTML表达式或JavaScript代码写入文档。
文件:
因此,请更改您的方法,使其变为:
<div id = "sideMenu">
<ul>
<li id="r">
<span><img class="piece" src="vazirRed.png"></span>
Red Player<input type="text" id="input" value="name">
<button onclick="submitInput();">go</button>
</li>
<li>
<span><img class="piece" src="vazirBlue.png"></span>
Blue Player<input type="text" value="name">
<button onclick="submitInput();">go</button>
</li>
</ul>
</div>
<script>
function submitInput(){
var inputRed = document.getElementById("input");
var redName = inputRed.value;
var name = document.createElement("div");
//name.appendChild(redName);
document.getElementById("r").innerHTML += redName;
}
</script>
-
红牌选手
去
-
蓝牌选手
去
函数submitInput(){
var inputRed=document.getElementById(“输入”);
var redName=inputed.value;
var name=document.createElement(“div”);
//name.appendChild(红色名称);
document.getElementById(“r”).innerHTML+=redName;
}
注意:JSFIDLE中的onLoad
选项会影响您输入的JavaScript的范围。由于ID应该是唯一的,所以不应该将具有相同ID的输入追加回DOM。
<div id = "sideMenu">
<ul>
<li id="r">
<span><img class="piece" src="vazirRed.png"></span>
Red Player<input type="text" id="input" value="name">
<button onclick="submitInput();">go</button>
</li>
<li>
<span><img class="piece" src="vazirBlue.png"></span>
Blue Player<input type="text" value="name">
<button onclick="submitInput();">go</button>
</li>
</ul>
</div>
<script>
function submitInput(){
var inputRed = document.getElementById("input");
var redName = inputRed.value;
var name = document.createElement("div");
//name.appendChild(redName);
document.getElementById("r").innerHTML += redName;
}
</script>