jquery表单插件不起作用

时间:2013-03-22 07:14:59

标签: ajax jquery jquery-forms-plugin

我编写了一个代码,将表单提交到另一个页面而不像ajax一样加载。我使用jquery表单插件。但问题是它无效。 这是我的代码

<div id='preview'></div>
<form  action='ajaxcall.php' id='upload_pic' enctype='multipart/form-data' method='post'>

<input type='file' id='pic' name='picture'>
<input type='button' id='sub'>
</form>
<script type="text/javascript" src='jqueryform.js'></script>
<script>
var options=
{
 target:'#preview',
 url:'ajaxcall.php',
 success:function(){

document.getElementById("upload_pic").reset();
}
};

$(document).ready(function(){
$("#sub").click(function(){
    $('#preview').html("<img src='images/loader.gif' alt='Loading.....'/>");
    $('#upload_pic').ajaxForm(options).submit();
    });
});
</script>

我知道ajaxForm()函数不起作用.jquery文件位于代码上方并且工作正常。单击按钮页面后自动重定向到ajaxcall.php页面。请帮助我找出错误。提前谢谢。

2 个答案:

答案 0 :(得分:0)

在这种情况下,您需要使用ajaxSubmit

$(document).ready(function() {
    var options = {
        target : '#preview',
        url : 'ajaxcall.php',
        success : function() {
            document.getElementById("upload_pic").reset();
        }
    };

    $("#sub").click(function() {
        $('#preview').html("<img src='images/loader.gif' alt='Loading.....'/>");
        $('#upload_pic').ajaxSubmit(options);
    });
});

答案 1 :(得分:0)

再添加一个提交功能:

$(document).ready(function(){
  $('#upload_pic').submit(function(e){ // <---pass event here
      e.preventDefault();  //<----------------stop it here
  });
  $("#sub").click(function(){
     $('#preview').html("<img src='images/loader.gif' alt='Loading.....'/>");
     $('#upload_pic').ajaxForm(options).submit();
  });
});

尝试在点击前停止提交。