当用户取消提示时,如何避免在空值上填充文本区域

How to keep from populating textarea on a null value when user cancels the prompt?

本文关键字:空值 填充 区域 文本 何避免 取消 用户 提示      更新时间:2023-09-26

这是我设计的一个工具的一部分,用于在测试hi - cap数据电路时进行统一,清晰的注释,什么是一种简单的方法,而不必完全修改我的代码,以保持以下内容在用户取消提示时填充为空值的文本区域?在写这篇文章的时候,我完全忘记了牛市的价值。啊! !我已经尝试了一个!= "null"条件,它可以完全填充文本区域。

<!-- Remarks Textarea Begin --><td><textarea
 id="REMARKSTEXTAREA" rows="10" cols="100">***CCSC***
      </textarea></td>
<!-- Remarks Textarea End -->
<!-- BEGIN ACCESS DROPDOWN MENU -->
      <td style="text-align: center; width: 638px;">
      <select id="accessdropdownmenu">
      <option value="">MAKE A SELECTION</option>
      <option value="1">ACCESSED CLLI @ XXX IN "A"
DIRECTION…</option>
      <option value="2">ACCESSEDCLLI @ XXX IN "Z"
DIRECTION…</option>
      <option value="3">ACCESSED CLLI @ XXX (FULLY
IMBEDDED) IN "A" DIRECTION…</option>
      <option value="4">ACCESSED CLLI @ XXX (FULLY
IMBEDDED) IN "Z" DIRECTION…</option>
      <option value=" GETTING IMMEDIATE AIS ALARM…">GETTING
IMMEDIATE AIS ALARM…</option>
      <option value=" GETTING IMMEDIATE RAI ALARM…">GETTING
IMMEDIATE RAI ALARM…</option>
      <option value="5">XXX MAPPED CORRECTLY TO XXX PER
CLR/DLR…</option>
      <option
 value=" CROSS CONNECTS DO NOT MATCH PER CLR/DLR INFO...">CROSS
CONNECTS DO NOT MATCH PER CLR/DLR INFO...</option>
      <option value=" NO DACS TEST POINTS PER CLR/DLR…">NO
DACS TEST POINTS PER CLR/DLR…</option>
      <option value=" NO REMOTE TEST ACCESS POINTS PER CLR/DLR…">NO
REMOTE TEST ACCESS POINTS PER CLR/DLR…</option>
      <option value="6">UNABLE TO ACCESS CLLI @ XXX...</option>
      </select>
      <script>
var mytextboxaccess = document.getElementById('REMARKSTEXTAREA');
var mydropdownaccess = document.getElementById('accessdropdownmenu');
mydropdownaccess.onchange = function(){
if (mydropdownaccess.value == 1) {
var CLLI = prompt("WHAT CLLI CODE ARE YOU ACCESSING?");
var ACCESSPOINT = prompt("WHAT ACCESS POINT ARE YOU USING?");
mytextboxaccess.value = mytextboxaccess.value + " ACCESSED " + CLLI + " @ " + ACCESSPOINT + " IN 'A' DIRECTION.."; this.value = "";}
if (mydropdownaccess.value == 2) {
var CLLI = prompt("WHAT CLLI CODE ARE YOU ACCESSING?"); var ACCESSPOINT = prompt("WHAT ACCESS POINT ARE YOU USING?");
mytextboxaccess.value = mytextboxaccess.value + " ACCESSED " + CLLI + " @ " + ACCESSPOINT + " IN 'Z' DIRECTION.."; this.value = "";}
if (mydropdownaccess.value == 3) {
var CLLI = prompt("WHAT CLLI CODE ARE YOU ACCESSING?");
var ACCESSPOINT = prompt("WHAT ACCESS POINT ARE YOU USING?");
mytextboxaccess.value = mytextboxaccess.value + " ACCESSED " + CLLI + " @ " + ACCESSPOINT + " (FULLY IMBEDDED) IN 'A' DIRECTION.."; this.value = "";}
if (mydropdownaccess.value == 4) {
var CLLI = prompt("WHAT CLLI CODE ARE YOU ACCESSING?");
var ACCESSPOINT = prompt("WHAT ACCESS POINT ARE YOU USING?");
mytextboxaccess.value = mytextboxaccess.value + " ACCESSED " + CLLI + " @ " + ACCESSPOINT + " (FULLY IMBEDDED) IN 'Z' DIRECTION.."; this.value = "";}
if (mydropdownaccess.value == 5) {
var ACCESSPOINT1 = prompt("WHAT ACCESS POINT DID YOU ACCESS?");
var ACCESSPOINT2 = prompt("WHAT ACCESS POINT IS IT MAPPED TO?"); mytextboxaccess.value = mytextboxaccess.value + " " + ACCESSPOINT1 + " MAPPED CORRECTLY TO " + ACCESSPOINT2 + " PER CLR/DLR.."; this.value = "";}
if (mydropdownaccess.value == 6) {
var CLLI = prompt("WHAT CLLI CODE WERE YOU ATTEMPTING TO ACCESS?");
var ACCESSPOINT = prompt("WHAT ACCESS POINT WERE YOU USING?");
mytextboxaccess.value = mytextboxaccess.value + " UNABLE TO ACCESS " + CLLI + " @ " + ACCESSPOINT + ".."; this.value = "";}
else {
mytextboxaccess.value = mytextboxaccess.value + mydropdownaccess.value + ".."; this.value = "";}
}
      </script>
      </td>
<!-- END ACCESS DROPDOWN MENU -->

很遗憾,我不能评论,但你说你试过了

if(CLLI != "null") {
   // do stuff
}

应该是:

if (CLLI !== null) {
  // do stuff 
}

解决这个问题的另一种方法是使用三元操作符。

例如

if (mydropdownaccess.value == 1) {
     var CLLI = prompt("WHAT CLLI CODE ARE YOU ACCESSING?");
     CLLI = (CLLI !== null) ? " ACCESSED " + CLLI : '';
     mytextboxaccess.value = mytextboxaccess.value + CLLI + " @ " + ACCESSPOINT + " (FULLY IMBEDDED) IN 'Z' DIRECTION.."; this.value = "";}
}

然而,花一些时间重构你的代码可能对你有好处。