代码检查显示不应该存在或不应该存在的代码

问题描述

我正在使用 dHTML 编写的应用程序,并使用 Apache 服务器在 Windows 10 笔记本电脑上运行。我有一些简单的代码行,可以生成如下 2 个 SELECT 语句。

print "   Choose an effort: <SELECT NAME='echoice' CLASS='slcts' SIZE='16' STYLE='width:180px' ONMOUSEOVER=\"setStatus2('Only efforts with measures your authorized to work with are shown.');\" ONMOUSEOUT=\"setStatus2(' ');\" ONCHANGE=\"Loadem('choice');\">\n";

foreach $iline (@ilines) {
  print "<OPTION VALUE='$iline'>$iline</OPTION>\n";
}

print "</SELECT>\n";

print "Choose $what: <SELECT NAME='choice' CLASS='slcts' SIZE='16' STYLE='width:180px'>\n";

if ($cmfunction eq 'MeasureDescriptions' && $action eq 'U') {         
  print "<OPTION SELECTED VALUE='new'>new</OPTION>\n";
  $imo = 1;
}

 foreach $mline (@mlines) {
   $thestr = ($i == 0 && !$imo) ? 'SELECTED' : '' ; # Select 1st measure if not a single model.                
   print "<OPTION $thestr VALUE='$mline'>$mline</OPTION>\n";        
   $i++;
 }

 print "</SELECT>\n";

只要有第一个选择,我似乎就无法更改此字段的内容。首先,我在每个测试的第二个 SELECT 文本中放置一个新的唯一字符,以告诉我是否正在执行我认为的模块版本。我总是看到独特的性格。

我尝试了以下方法

  1. 注释掉内部的 2 个打印语句,
  2. 将>newnew1
  3. 将 'dog' 分配给 mlines 数组的 0 位置,并且
  4. 在 Option 循环后添加打印以添加“狗”选项。

在所有四种情况下,选择 SELECT 具有与实施任何测试 (1-4) 之前相同的选项。但是如果我删除一个选择, 然后我可以修改第二个选择的选项。上面代码的调试器图像跟随两个选择。

Choose an effort: <SELECT NAME='echoice' CLASS='slcts' SIZE='16' STYLE='width:180px' ONMOUSEOVER="setStatus2('Only efforts with measures your authorized to work with are shown.');" ONMOUSEOUT="setStatus2(' ');" ONCHANGE="Loadem('choice');">
<OPTION SELECTED VALUE='all'>all</OPTION>
<OPTION VALUE='Health'>Health</OPTION>
<OPTION VALUE='HealthCare'>HealthCare</OPTION>
</SELECT>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Choose a measure !: <SELECT NAME='choice' multiple CLASS='slcts' SIZE='16' STYLE='width:180px' ONMOUSEOVER="setStatus2('Only measures your authorized to work with are shown.&nbsp;&nbsp;&nbsp;&nbsp;Select a measure for a formal deFinition.');" ONMOUSEOUT="setStatus2(' ');" ONCLICK='doFRef(event,this,this.form)'>
<OPTION SELECTED VALUE='new'>new</OPTION>
<OPTION  VALUE='HEComp90'>HEComp90</OPTION>
<OPTION  VALUE='HECompAtBirth'>HECompAtBirth</OPTION>
<OPTION  VALUE='healthy'>healthy</OPTION>
<OPTION  VALUE='infant'>infant</OPTION>
<OPTION  VALUE='maternal'>maternal</OPTION>
<OPTION  VALUE='stillbirths'>stillbirths</OPTION>
</SELECT>

只有一个选择的调试器代码如下。我将 new 更改为 new1 并添加了 line 和 line2 选项。但是如果我把第一个选择放回去 我无法修改第二个选择,它包含第一个调试器图像中显示内容

<OPTION SELECTED VALUE='new'>new1</OPTION>
<OPTION  VALUE='line'>line</OPTION>
<OPTION  VALUE='HEComp90'>HEComp90</OPTION>
<OPTION  VALUE='HECompAtBirth'>HECompAtBirth</OPTION>
<OPTION  VALUE='healthy'>healthy</OPTION>
<OPTION  VALUE='infant'>infant</OPTION>
<OPTION  VALUE='maternal'>maternal</OPTION>
<OPTION  VALUE='stillbirths'>stillbirths</OPTION>
<OPTION  VALUE='line2'>line2</OPTION>
</SELECT>

我不明白这个。任何帮助将不胜感激。一定是我。

谢谢, 克雷格

解决方法

是我。有一个 ONLOAD 进程执行另一个准备 该字段的内容未正确写入。我已经纠正了这个过程,现在一切都按预期工作了。此问题已关闭。对于我的疏忽,我深表歉意,并感谢所有看过的人。