我知道已经问过那种问题,但是我找不到解决方案。在我的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()时,其他代码未执行。希望任何人都知道解决方案。谢谢

最佳答案

确保您已注册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>

关于javascript - 提交时的jQuery不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50836768/

10-12 12:27
查看更多