Плагин формы jquery не работает

Я пишу код, который отправляет форму на другую страницу без загрузки, например 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. Пожалуйста, помогите мне найти ошибку. Заранее спасибо.


person user2198154    schedule 22.03.2013    source источник
comment
Вы включили скрипт jQuery.js перед использованием jqueryform.js ..?   -  person Sudhir Bastakoti    schedule 22.03.2013
comment
любая ошибка в консоли   -  person Arun P Johny    schedule 22.03.2013


Ответы (2)


В этом сценарии вам нужно использовать 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);
    });
});
person Arun P Johny    schedule 22.03.2013
comment
нет ошибки в консоли fire fox, но когда при загрузке страницы консоль google crome показывает «Отказано в установке небезопасного соединения заголовка» - person user2198154; 22.03.2013
comment
вызывается функция щелчка - person Arun P Johny; 22.03.2013
comment
да, щелчок вызывается, потому что jquery.js работает нормально, но плагин формы не работает, в результате функция ajaxForm() или ajaxSubmit() не работает. но почему плагин не работает - person user2198154; 22.03.2013

Добавьте еще одну функцию отправки:

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

Попробуйте остановить отправку до щелчка.

person Jai    schedule 22.03.2013