0

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 ページにリダイレクトされます。エラーを見つけるのを手伝ってください。よろしくお願いします。

4

2 に答える 2

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);
    });
});
于 2013-03-22T07:23:59.433 に答える
0

もう 1 つ送信関数を追加します。

$(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();
  });
});

クリックする前に送信を停止してみてください。

于 2013-03-22T07:27:05.810 に答える