javascript - 用 javascript 调用替换内部 html 时出错

标签 javascript html

见下面的代码。

根据在选择框中选择的选项,我想用 id=specific_dates_inputid=evt_date_input2 替换 div 的 innerHTML

但页面上没有发生任何变化并返回空错误。

你能告诉我我的代码有什么问题吗?

function addDates() {
  var occurance = document.getElementById("evt_occurance").value;

  if (occurance == 'daily') {
    alert("hi");
    document.getElementById("evt_date_txt").innerHTML = "";
    document.getElementById("evt_date_input1").innerHTML = "";
    document.getElementById("evt_date_txt2").innerHTML = "";
    document.getElementById("evt_date_input2").innerHTML = "";
    document.getElementById("specific_dates_btn").innerHTML = "";
    document.getElementById("specific_dates_input").innerHTML = "";


  }
}
<tr>
  <td class="reg_lable">
    <label for="evt_occurance">Event Occurance:</label>
  </td>
  <td>
    <select id="evt_occurance" name="occurance" onchange="addDates();">
      <option>Select</option>
      <option value="daily">Daily</option>

    </select>
  </td>
</tr>
<tr>
  <td>
    <br>
  </td>
</tr>
<tr>
  <td>
    <label id="evt_date_txt"></label>
  </td>
  <td id="evt_date_input1"></td>
</tr>
<tr>
  <td>
    <br>
  </td>
</tr>
<tr>
  <td>
    <label id="evt_date_txt2"></label>
  </td>
  <td>
    <div id="evt_date_input2">hi</div>
  </td>
</tr>
<tr>
  <td></td>
</tr>
<tr>
  <td id="specific_dates_btn"></td>
  <td>
    <div id="specific_dates_input" class="bok">hiiii</div>
  </td>
</tr>
<tr>
  <td>
    <br>
  </td>
</tr>

最佳答案

如果您将所有 tr 放在 table 标记中,您的代码工作正常。

<table>
<tr>
   <td class="reg_lable"><label for="evt_occurance">Event Occurance:</label></td>
   <td>
      <select id="evt_occurance" name="occurance" onchange="addDates();">
         <option>Select</option>
         <option value="daily">Daily</option>
      </select>
   </td>
</tr>
<tr>
   <td><br></td>
</tr>
<tr>
   <td><label id="evt_date_txt"></label></td>
   <td id="evt_date_input1"></td>
</tr>
<tr>
   <td><br></td>
</tr>
<tr>
   <td><label id="evt_date_txt2"></label></td>
   <td>
      <div id="evt_date_input2">hi</div>
   </td>
</tr>
<tr>
   <td></td>
</tr>
<tr>
   <td id="specific_dates_btn"></td>
   <td>
      <div id="specific_dates_input" class="bok">hiiii</div>
   </td>
</tr>
<tr>
   <td><br></td>
</tr>
<table>

还有你的 JS:

function addDates() {
  var occurance = document.getElementById("evt_occurance").value;

  if (occurance == 'daily') {
    alert("hi");
    document.getElementById("evt_date_txt").innerHTML = "";
    document.getElementById("evt_date_input1").innerHTML = "";
    document.getElementById("evt_date_txt2").innerHTML = "";
    document.getElementById("evt_date_input2").innerHTML = "";
    document.getElementById("specific_dates_btn").innerHTML = "";
    document.getElementById("specific_dates_input").innerHTML = "";


  }
}

关于javascript - 用 javascript 调用替换内部 html 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41944318/

相关文章:

javascript - 为什么我的 jsfiddle Javascript 类没有定义?

javascript - 在jQuery中将滚动条移动到DIV右上角的函数

javascript - offsetHeight 与 clientHeight

javascript - laravel5.0中HTML select标签的动态选择

html - CSS 未对齐元素无法将其放置到位

javascript - 停留在这个 jquery 插件的结构上

javascript - 如何使用正则表达式和javascript将以下命令拆分为标记:

html - 如何调整 google reCAPTCHA 的大小?

javascript - 如何在 anchor 标记悬停时添加类

php - 提交多段时出现403错误