简体   繁体   English

防止空输入传递空字符串javascript

[英]Prevent empty inputs from passing empty strings javascript

So, if I have a form like this所以,如果我有这样的表格

 <form action='/admin' method='post'> <input class='form-control' name='truckNumber' type='number'></input> <input class='form-control' name='truckNumber' type='number'></input> <input class='form-control' name='truckNumber' type='number'></input> <input class='form-control' name='truckNumber' type='number'></input> <input class='btn btn-primary' type='submit'></input> </form>

If the user doesn't fill out any of the fields, I get an array posted with values ['','','',''].如果用户没有填写任何字段,我会收到一个带有值 ['','','',''] 的数组。 Is there a way to prevent the values from being posted if the input is left blank?如果输入为空,有没有办法防止值被发布?

You can use required attribute of html within each input element.您可以在每个输入元素中使用 html 的required属性。 If you want to do it with JavaScript then simply traverse array and check if any value is empty.如果你想用 JavaScript 来做,那么只需遍历数组并检查是否有任何值为空。

On submit, check for empty inputs and give them the disabled attribute.在提交时,检查空输入并给它们disabled属性。 Disabled inputs will not be submitted.将不会提交禁用的输入。

Example:例子:

 document.querySelector('.btn-primary').addEventListener('click', function(e) { e.preventDefault(); var inputs = document.querySelectorAll('.form-control'); inputs.forEach(function(item, i) { if (item.value.length == 0) item.setAttribute('disabled', 'disabled'); }); // document.querySelector("form").submit(); });
 input:disabled { border: 1px solid red; }
 <form action='/admin' method='post'> <input class='form-control' name='truckNumber' type='number'> <input class='form-control' name='truckNumber' type='number'> <input class='form-control' name='truckNumber' type='number'> <input class='form-control' name='truckNumber' type='number'> <input class='btn btn-primary' type='submit'> </form>

use required like this:使用required像这样:

<form action='/admin' method='post'>
  <input class='form-control' name='truckNumber' type='number' required></input>
  <input class='form-control' name='truckNumber' type='number' required></input>
  <input class='form-control' name='truckNumber' type='number' required></input>
  <input class='form-control' name='truckNumber' type='number' required></input>
  <input class='btn btn-primary' type='submit'></input>
</form>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM