如何根据其他几个正在更新的文本框更新 1 个文本框(如果/否则如果)



我正在尝试根据更新的文本框使用不同的文本更新 1 个文本区域(输出(。但是,由于某种原因,将填充输出文本框的唯一文本是第一个 if 语句。ID 将按预期发出警报。我对一个静态文档进行了测试,该文档在我的小提琴中根本没有警报,但可以在这里找到:https://jsfiddle.net/h6w4s50L/所有代码都是一样的,所以我不确定为什么小提琴不喜欢它。

原始代码如下:

<html>
<head>
</head>
<body>
<script type="text/javascript">
function update(id) { 
alert(id)
if (id = 1){
document.getElementById('output').value += "{panel:title=Updates}nn" + id.value + "nn{panel} nn";  
} else if (id = 2) {
document.getElementById('output').value += "{panel:title=Attached}nn" + id.value + "nn{panel} nn"; 
} else if (id = 3) {
document.getElementById('output').value += "{panel:title=Admin Updated}nn" + id.value + "nn{panel} nn"; 
} else if (id = 4) {
document.getElementById('output').value += "{panel:title=Contact Updated}nn" + id.value + "nn{panel} nn"; 
} 
}
</script>
<form>
<fieldset>
<legend>Domain Update Information</legend>
<br/>POC Updates: <br/>
<textarea id="1" rows="7" cols="50" onchange="update(this.id)"></textarea><br/><br/>
Authorization Letter Attached: <br/>
<textarea id="2" rows="7" cols="50" onchange="update(this.id)"></textarea><br/><br/>
Authorizing Authority Updated: <br/>
<textarea id="3" rows="7" cols="50" onchange="update(this.id)"></textarea><br/><br/>
Security Point of Contact Update: <br/>
<textarea id="4" rows="7" cols="50" onchange="update(this.id)"></textarea><br/>
</fieldset>
</form>
<textarea id="output" rows="20" cols="150">Domain Update Information: &#13;&#10;&#13;&#10;</textarea>
</body>
</html>

这只是一个测试,以确保我可以让我的最终目标正常工作,但似乎问题出在我的脚本的 if/else if 部分。任何协助将不胜感激。

你的错误在于考虑使用id.value

id只包含一个字符串,而不是一个对象。将id.value替换为document.getElementById(id).value

最新更新