document.getElementById.show()不是函数

Kat*_*lle 0 javascript forms jquery if-statement function

我有一张表格.当用户单击列表项并选择"大小值"时,会给它一个选定的类,然后用户可以提交表单.

我想弄清楚的部分是,当没有选择大小时(因此没有列表项具有"已选择"类),表单将不会被提交,而是显示错误消息.我无法使用此工作并显示错误消息,因为表单仍然只是提交.

目前我收到一个错误,告诉我这document.getElementById("errormessage").show()不是一个功能.

有谁知道为什么会这样?任何人都可以帮助我使用我的代码让它以我想要的方式工作吗?

.on('click', '.modalAddToBagButton', function(e) {
  e.preventDefault();
  var x = document.getElementsByClassName("es-value");
  var i = x.length;
  var selected = false;
  while (i--) {
    if (x[i].hasAttribute("selected")) {
      selected = true;
    }
  }
  if (selected == false) {
    //Displays error
    document.getElementById("errormessage").show();
  } else {
    $(this).closest("#dialog-addToBag").find('form').submit();
  }
});
Run Code Online (Sandbox Code Playgroud)
<form>
  <ul>
    <li>
      <ul>
        <li class="size-value"></li>
        <li class="size-value"></li>
        <li class="size-value"></li>
        <li class="size-value"></li>
      </ul>
    </li>
  </ul>
</form>
<div id="errormessage">Please select a size</div>
<div class="mt10">
  <input type="submit" class="modalAddToBagButton">
</div>
Run Code Online (Sandbox Code Playgroud)

Nik*_*wal 5

你正在混淆JavascriptJquery功能.

更新自

document.getElementById("errormessage").show();
Run Code Online (Sandbox Code Playgroud)

$("#errormessage").show();
Run Code Online (Sandbox Code Playgroud)

要么

document.getElementById("errormessage").style.display = 'block';
Run Code Online (Sandbox Code Playgroud)