if函数中的许多条件在JavaScript中不起作用

if函数中的许多条件在JavaScript中不起作用,javascript,html,Javascript,Html,我的模板中有3个字段。我想让用户看到一个错误消息,如果每个字段没有填写所有必须填写 我的模板如下所示: <input type="text" name="category" class="form-control form-control-emphasized" id="category" placeholder="Wpisz kategorie..." maxlength="200" required> <input type="text" name="name" class

我的模板中有3个字段。我想让用户看到一个错误消息,如果每个字段没有填写所有必须填写

我的模板如下所示:

<input type="text" name="category" class="form-control form-control-emphasized" id="category" placeholder="Wpisz kategorie..." maxlength="200" required>
<input type="text" name="name" class="form-control form-control-emphasized" placeholder="Wpisz nazwę..." maxlength="200" required id="id_name">
<textarea name="description" cols="40" rows="3" class="form-control form-control-emphasized" placeholder="Napisz parę słów na temat sprzedawanego produktu..." required id="id_description">
</textarea>
<button onClick="stepThird()">Next step</button>
我的JavaScript:

  function stepThird() {
  var valueCategory = document.getElementById('category');
  var valueName = document.getElementById('id_name');
  var valueDescription = document.getElementById('id_description');
  if (valueCategory.value.length < 2 && valueName.value.length < 2 && valueDescription.value.length < 2 ) {
    alert('All 3 fields must be longer than 2 characters');
  } else {
  alert('Ok, you can go to the next step')
  }}
*嵌入onClick


但是我的功能不正常。当用户只完成一个字段时,他将其传递到下一步。为什么表示所有字段的长度必须超过2个字符,否则将显示错误消息。为什么不能正常工作?

实际上,您应该将| |放在您的条件中,因为只有当所有输入都未完成时,您的条件才得到满足,并且如果用户完成了其中任何一个输入,则条件不会让您设置错误代码,这样他/她就可以继续了。

您可以将其扩展为可运行的代码段来观察行为吗?如果您希望在至少一个值短于两个字符时立即看到错误消息,那么您当然需要或。有了和,所有这些都必须同时变短。