Установите флажок, чтобы запустить маршрут POST - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть приложение nodejs / express, и я хочу использовать флажок, чтобы запустить маршрут POST, чтобы я мог обновить свою базу данных, независимо от того, отмечен соответствующий элемент или нет.Я использую форму флажка Bootstrap4 (см. Код ниже) в представлении ejs.Я не хочу использовать кнопку отправки или JQuery.Я думал об обтекании ввода тегами, содержащими маршрут и действие, но это не вызывает маршрут. Возможно ли это?Заранее спасибо.

<div class="form-check">
<input class="form-check-input" name="checked" type="checkbox" 
value="true"> 
</div>

Ответы [ 3 ]

0 голосов
/ 04 февраля 2019

Вы можете заключить флажок в тег формы и добавить обработчик события onClick для отправки формы следующим образом:

<form method="POST" action="/">
    <input class="form-check-input" name="checked" type="checkbox" value="true" onChange="this.form.submit()">
</form>

используйте действие , чтобы указать конечную точку сервера

Но имейте в виду, что каждый раз при отправке формы страница будет перезагружаться.Если вы не хотите такого поведения, вы должны использовать Ajax.но это выходит за рамки этого вопроса.

0 голосов
/ 04 февраля 2019

Поскольку вы используете Bootstrap, вы можете использовать обработчик событий jQuery change() для запуска сообщения.

<label><input id="form-check-input" type="checkbox" checked>&nbsp;Check me</label>

$('#form-check-input').change(function() {
  if ($(this).prop('checked')) {
    $.post(ajax_url, function(data) {
      // success handler
    })
  }
})
0 голосов
/ 04 февраля 2019

Просто используйте событие onClick для элемента ввода.

function task(e)
{
  
  if(e.target.checked)
  {
    ///do post request with 1 in parameter
    console.log("do post request with 1 in parameter");
  }
  else
  {
    ///do post request with 0 parameter
    console.log("do post request with 0 parameter");
  }
}
<input type="checkbox" onclick="task(event);"/>

Или, если вы используете jQuery, проверьте этот ответ: как отправить запрос на публикацию флажка / снимите флажок

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...