JQuery на отправить не работает - PullRequest
0 голосов
/ 13 июня 2018

Я знаю, что вопрос уже был задан, но я не могу найти решение своей проблемы.В моем HTML-файле у меня есть этот код:

<div>
        <form id="chart-input">
            <input type="text" name="country" placeholder="Country" autocomplete="off">
            <input type="number" name="visits" placeholder="Visits" autocomplete="off"> 
            <button>Send</button>
        </form>
</div>

Я пытался обработать отправку для этой формы с помощью jQuery, но, похоже, это не работает.

Вот мой файл js:

jQuery('#chart-input').on('submit', function (e) {
  e.preventDefault();

  let countryTextbox = jQuery('[name=country]');
  let visitsTextbox = jQuery('[name=visits]');


    socket.emit('addData', {
      "country": countryTextbox,
      "visits": visitsTextbox
    }); 
});

В чем проблема?Когда я нажимаю кнопку preventDefault() и другой код не выполняется.Надеюсь, кто-нибудь знает решение.Thx

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

измените <button>Send</button> на <button type="submit">Send</button>, и оно будет работать

0 голосов
/ 13 июня 2018

Убедитесь, что вы зарегистрировали jQuery и действуйте следующим образом:

Введите свой код javaScript после HTML или измените его на:

jQuery(document).ready(function(){
    jQuery('#chart-input').on('submit', function (e) {
          e.preventDefault();

          let countryTextbox = jQuery('[name=country]');
          let visitsTextbox = jQuery('[name=visits]');

          socket.emit('addData', {
            "country": countryTextbox,
            "visits": visitsTextbox
          }); 
    });
});

<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<form id="chart-input">
    <input type="text" name="country" placeholder="Country" autocomplete="off">
    <input type="number" name="visits" placeholder="Visits" autocomplete="off">
    <button>Send</button>
</form>
<script>
    jQuery(document).ready(function() {
        jQuery('#chart-input').on('submit', function(e) {
            e.preventDefault();

            let countryTextbox = jQuery('[name=country]');
            let visitsTextbox = jQuery('[name=visits]');

            //socket.emit('addData', {
             //   "country": countryTextbox,
             //   "visits": visitsTextbox
            //});
            alert('it works!!!');
        });
    });
</script>
...