javascript - 使用 Ajax 手动提交表单

标签 javascript ajax

我正在尝试使用 ajax 调用表单提交上的 servlet。但它并没有影响 ajax 和页面重新加载。我手动触发表单提交,然后在该提交函数上调用 ajax 方法。

$("#image1").on('change', function(event) {
  $('#myform').trigger('submit');
  alert("button clicked"); // this is submitted

  $("#myform").submit(function(e) { // this is not happening
    event.preventDefault();

    alert('form clicked');
    //var formId=("#myform").submit();
    $.ajax({
      type: 'GET', // GET or POST or PUT or DELETE
      // verb
      url: "/bin/mr/controller?q=iechange",
      data: $("#myform").serialize(),
      // type
      // sent
      // to
      // server
      dataType: 'json', // Expected data format from
      // server
      processdata: true, // True or False
      success: function(data) { // On Successfull

        alert('call success');
        console.log(data);



      },
      error: function(msg) { // When Service call
        alert('call fail'); // fails

      }
    });



  });


});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myform" >
<input name="img" id="image1" type="file" accept="image/*">
</form>

最佳答案

您需要在页面加载时绑定(bind)您的 submit 事件处理程序。

目前,您正在尝试在手动触发提交后绑定(bind)它......这已经太晚了,因为到那时事件已经消失了。

将绑定(bind) submit 事件的代码移至change 事件的事件处理程序外部

关于javascript - 使用 Ajax 手动提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34658995/

相关文章:

javascript - 定义在每个页面加载时运行的函数

javascript - 懒加载图片功能修改

javascript - 通过自动建议进行 Onclick 更新

javascript - AJAX 上的浏览​​器在响应中使用脚本标记刷新

javascript - 如何将 babel 与我的常规 AngularJs 应用程序合并

javascript - 计算页面加载和下一小时第一分钟之间有多少秒

PHP - 如何在 file_get_contents 中获取 ajax 加载的内容

php - AJAX化网站

javascript - ajax 意外标记 *

javascript - 从模块的原型(prototype)方法返回值,同步还是异步?