$ (this) .ajaxSubmit не является функцией - PullRequest
1 голос
/ 09 января 2012

Я использую rails 3.1.3, jquery.form.js версии 2.9.4 и jquery 1.7.1. Я поместил несколько консольных операторов печати в jquery.form.js, чтобы я мог видеть (в консоли firebug), что он загрузился.

И я настроил свою форму так:

var options = {
  success: s.update_or_add_contact_response, type: 'post', 
  dataType: 'json',  url:  s.update_contact_path
};

$('form#new_user').submit(function() {
  $(this).ajaxSubmit(options);
  return false;
});

И когда я нажимаю кнопку, чтобы отправить форму, я получаю следующее сообщение об ошибке в консоли firebug:

$ (this) .ajaxSubmit не является функцией

Что я здесь не так делаю?

Ответы [ 4 ]

6 голосов
/ 05 февраля 2014

Это новая функция, поэтому вам нужно добавить другой файл lib после jQuery lib

<script src="http://malsup.github.com/jquery.form.js"></script>

это будет работать .. Я проверил .. надеюсь, что это будет работать для вас ..

2 голосов
/ 09 января 2012

Я никогда не использовал эту функцию, но ваш синтаксис выглядит правильно в соответствии с документом по адресу: http://jquery.malsup.com/form/#ajaxSubmit.

Не видя весь ваш код, я бы догадался, что вы не связываете плагин jQuery, илиВы не заключаете свой код в $( document ).ready( function( ) { //code } ); как таковой.

Посмотрите на ваш исходный код и убедитесь, что плагин связан.Это там?

Подайте предупреждение чуть выше var options.Это выводит?

0 голосов
/ 12 июля 2013

Я думаю, что jQuery должен конфликтовать с другими js-файлами, вы можете найти справку по здесь , замена $ на jQuery в коде может помочь.

0 голосов
/ 09 января 2012

Может быть, вы пропустили обёртку document.ready?

$(function() { // same as document.ready
    var options = {
      success: s.update_or_add_contact_response, type: 'post', 
      dataType: 'json',  url:  s.update_contact_path
    };

    $('form#new_user').submit(function() {
      $(this).ajaxSubmit(options);
      return false;
    });
});
...