0

我正在尝试创建一个按钮来清除这两种形式,如下面的代码所示。我能够弄清楚清除表单的代码仅适用于最后编码的表单。因此,如果我首先输入表单 id zxy 的代码,然后尝试清除表单,我会收到错误消息,但清除表单 id 手动输入的代码有效。但是,如果我将表单 id zxy 的代码粘贴到表单 id manualEntry 下方,则相反。

无论哪种形式在顶部都会收到错误消息“未捕获的引用错误:x 未定义。

希望这很清楚。这是我的代码。

<img id="barcodereader" src="img/scanner.JPG" width=25px class="refButtons"> Click to toggle between using a barcode reader or manual entry<br>
<div id="withreader">
  <div class="reagentlog">
    Some text<br>
    <form id="zxy">
      <label>Scan barcode here:</label>
      <input type='text' name='barcodescan' id='barcodescan'><br>
      <label>Product GTIN</label>
      <input type='text' id='gtin' name='gtin'><br>
      <label>Number of Units:</label>
      <input type='text' name='nmbrunits'><br>
      <label>Open Date:</label>
      <input type='date' id='opendate' name='opendate' onChange="gtinLookup()"><br>
      <label id='expdays'>Expiration Days: </label><br>
      <label>Open Exiration Date:</label>
      <input type='date' name='opnexpdate' id='opexpdate'><br>

      <input type="button" onClick="clearForm2()" value="Clear form">
      <button type="submit" name="reagent-log">Submit</button>

      <br>
      <span>    
        Some text.<br>
        Some more text<br>
        A<br>
        B<br>
        C<br>
        D<br>
      </span>
    </form>
  </div>
</div>
<div id="withoutreader">
  Complete the form below.<br>
  <div class='reagentlog'>
    <form id="manualEntry" action='aaaa.php' method='POST'>

      <!-- <p title='By default this list will show products with available inventory. To see an extended list of product select the check box.'>
                                <input type='checkbox' name='default' >
                                Show entire reagent list.
                                </p> -->

      <label>Select Reagent</label>
      <select Reagent='New' id='reagentList' name='reagent' onChange="clearInputs()">
        <option value="">--Select--</option>
        <?php
           reagentList ($conn);
        ?>
      </select><br>

      <!--   <div id='optionList'> -->

      <label>Choose option</label>
      <select name='rgt-option'>
        <option value="routine">Routine Use</option>
        <option value="expired">Expired Reagent</option>
        <option value="lend">Lending</option>
        <option value="adjust">Adjusting Inventory</option>
        <option value="other">Other</option>
      </select><br>
      <label>Number of Units:</label>
      <input type='text' id='nmbrunits2' name='nmbrunits'><br>
      <label>Open Date:</label>
      <input type='date' id='opendate2' name='opendate' onChange='getExpDate()'><br>
      <label>Expiration Days:</label>
      <span id='expdays2'></span><br>
      <label>Open Exiration Date:</label>
      <!--    <p id='opexpdate2b'></p> -->
      <input type='date' id='opexpdate2' name='expdate'><br>
      <input type="button" onClick="clearForm()" value="Clear form">
      <button type="submit" name="reagent-log">Submit</button>
    </form>
  </div>
</div>

<script> 
function clearForm() {
    manualEntry.reset();
    document.getElementById('opexpdate2').innerHTML = "";
    document.getElementById('expdays2').innerHTML = "";
}




function clearForm2() {
    zxy.reset();
    document.getElementById('opendate').innerHTML = "";
    document.getElementById('opexpdate').innerHTML = "";    
}
</script>

4

1 回答 1

0

我在解决另一个问题时发现了这个问题。另一个文件中有一个未关闭的表单标签。使用上述代码在文件中调用了该文件。开始表单标记在开始 PHP 标记之前写在 HTML 代码中,而结束表单标记写在 PHP 代码中。显然,它不喜欢这样。我将关闭表单标记移出 PHP 代码并将其放在关闭 PHP 标记之外,一切正常。

于 2021-02-27T18:52:54.903 回答