Javascript 如何根据其他几个正在更新的文本框(if/else if)更新1个文本框

Javascript 如何根据其他几个正在更新的文本框(if/else if)更新1个文本框,javascript,if-statement,Javascript,If Statement,我正在尝试根据更新的文本框使用不同的文本更新1个文本区域(输出)。但是,由于某些原因,将填充输出文本框的唯一文本是第一条if语句。ID将按预期发出警报。我对一个静态文档进行了测试,它在我的fiddle中一点也不提醒,但可以在这里找到:所有代码都是相同的,所以我不确定fiddle为什么不喜欢它 原始代码如下: <html> <head> </head> <body> <script type="text/javascript">

我正在尝试根据更新的文本框使用不同的文本更新1个文本区域(输出)。但是,由于某些原因,将填充输出文本框的唯一文本是第一条if语句。ID将按预期发出警报。我对一个静态文档进行了测试,它在我的fiddle中一点也不提醒,但可以在这里找到:所有代码都是相同的,所以我不确定fiddle为什么不喜欢它

原始代码如下:

<html>
<head>
</head>
<body>
<script type="text/javascript">
            function update(id) { 
            alert(id)
            if (id = 1){
                document.getElementById('output').value += "{panel:title=Updates}\n\n" + id.value + "\n\n{panel} \n\n";  
                } else if (id = 2) {
                document.getElementById('output').value += "{panel:title=Attached}\n\n" + id.value + "\n\n{panel} \n\n"; 
                } else if (id = 3) {
                document.getElementById('output').value += "{panel:title=Admin Updated}\n\n" + id.value + "\n\n{panel} \n\n"; 
                } else if (id = 4) {
                document.getElementById('output').value += "{panel:title=Contact Updated}\n\n" + id.value + "\n\n{panel} \n\n"; 
                } 
            }
 </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>

函数更新(id){
警报(id)
如果(id=1){
document.getElementById('output').value+=“{panel:title=Updates}\n\n”+id.value+“\n\n{panel}\n\n”;
}else if(id=2){
document.getElementById('output').value+=“{panel:title=Attached}\n\n”+id.value+“\n\n{panel}\n\n”;
}else if(id=3){
document.getElementById('output').value+=“{panel:title=Admin Updated}\n\n”+id.value+“\n\n{panel}\n\n”;
}else if(id=4){
document.getElementById('output').value+=“{panel:title=联系人更新}\n\n”+id.value+“\n\n{panel}\n\n”;
} 
}
域更新信息

POC更新:


随附授权书:


授权权限已更新:


联系人更新的安全点:

域名更新信息:

这只是一个测试,以确保我可以实现我的最终目标,但问题似乎在于我脚本中的if/elseif部分。任何帮助都将不胜感激。

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


id
只包含一个字符串,而不是一个对象。如果查询有错误,则将
id.value
替换为
document.getElementById(id.value

所有。一个等号是用于赋值的运算符,而两个等号是用于布尔检查的运算符。因此,这有助于获得要更新的正确输出,但是id.value没有定义。将您的回答作为答案提交,我会将其标记为正确。这与上面的“==”语句一起使其正常工作,再次感谢!