Как обновить 1 текстовое поле на основе обновления нескольких других (если / еще, если) - PullRequest
0 голосов
/ 05 февраля 2020

Я пытаюсь обновить 1 текстовое поле (вывод) другим текстом, в зависимости от того, какое текстовое поле обновлено. Однако по какой-то причине единственный текст, который будет заполнять выходное текстовое поле, является первым оператором if. Идентификаторы будут предупреждены, как и ожидалось. У меня есть это тестирование для документа stati c, который вообще не выдает предупреждение в моей скрипке, но его можно найти здесь: https://jsfiddle.net/h6w4s50L/ весь код одинаков, поэтому я не уверен, почему 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>

Это всего лишь тест, чтобы убедиться, что я могу достичь своей конечной цели, но, похоже, проблема в раздел if / else if моего скрипта. Любая помощь будет оценена.

1 Ответ

1 голос
/ 05 февраля 2020

Ваша ошибка в мысли об использовании id.value.

id содержит только строку, а не объект. Заменить id.value на document.getElementById(id).value.

...