Скрипт, приводящий к значению «OFF» в поле вывода из-за выключенного состояния флажка - PullRequest
0 голосов
/ 07 февраля 2020

В большинстве случаев этот сценарий работает нормально, он проверяет, установлен ли флажок Check Box4, и если это так, он приводит к вычислению уровня + флажок с 4 по 7. Проблема заключается в том, что, если какой-либо из флажков Check Box5, 6 или 7 поля находятся в выключенном состоянии, расчет возвращает слово «OFF» в поле в качестве их вывода. Вычисление все еще работает, но, видимо, это плохо.

Рекомендации по извлечению значения включения, но игнорируя значение выключения флажка будет приветствоваться.

<code>
var v1 = this.getField("Check Box4").value;
if (v1 /= "") {
   event.value = this.getField("Level").value
 + this.getField("Check Box4").value
 + this.getField("Check Box5").value
 + this.getField("Check Box6").value
 + this.getField("Check Box7").value; }
if (isNaN(v1) || v1 === "") {event.value = "0";}
</code>

screen снимок результирующего гадости

I wi sh мы можем установить оба значения on (2) и off (0) для флажка ...: (

1 Ответ

0 голосов
/ 07 февраля 2020

Вы можете проверить, равно ли значение checked true, чтобы проверить, установлен ли флажок.

const checkbox = document.getElementById('check');
checkbox.addEventListener('change', event => {
  if (event.target.checked === true) {
    console.log(event.target.value);
  }
});
<input type="checkbox" id="check" name="checkbox" value="check it out"/>

Или используйте FormData API при отправке для проверки всех значений в форме. Только когда флажок установлен, он включается в коллекцию FormData, и наоборот.

const form = document.getElementById('form');
form.addEventListener('submit', event => {
  const formData = new FormData(event.target);
  for (const [ name, value ] of formData) {
    console.log(name, value);
  }
  event.preventDefault();
});
<form id="form">
  <input type="checkbox" name="agreed" value="Yes" />
  <input type="checkbox" name="declined" value="No" />
  <button type="submit">Submit</button>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...