jquery ajax表单提交无效

时间:2014-03-05 15:37:27

标签: jquery ajax jquery-post

这是我的html表单

<form id="contactForm1" method="POST" action="downloadfile">
   <input id="tesst" name="tesst" type="hidden" value="<?php echo $val['file_name'];?>"/>
   <div id="download" class="btn btn-danger">Download</div>
</form>

这是Jquery函数

var frm = $('#contactForm1');
              frm.submit(function(ev) {
                 $.ajax({
                   type: frm.attr('method'),
                   url: frm.attr('action'),
                   data: frm.serialize(),
                   success: function(data) {
                      alert('ok');
                   }
                  });
                 ev.preventDefault();
              });

我对Jquery不太了解。

请有人帮我这个吗?

感谢。

2 个答案:

答案 0 :(得分:1)

两件事

  • 您需要将input提交元素添加到表单

  • 如果您的action="downloadfile"与您当前的HTML文件位于同一目录,请将action="downloadfile.php"更改为downloadfile.php

答案 1 :(得分:1)

有两种方法可以解决您的问题

  1. 您将div(下载按钮)更改为input submit按钮并保留原样
  2. 您在单击div时更改要运行的功能,而不是在触发提交事件时更改(原因是提交仅由提交按钮触发)
  3. 示例:http://jsfiddle.net/Spokey/bNa7d/

    var frm = $('#contactForm1');
    $('#download').click(function (ev) {
        $.ajax({
            type: frm.attr('method'),
            url: frm.attr('action'),
            data: frm.serialize(),
            success: function (data) {
                alert('ok' + data);
            }
        });
    });