2012-01-08 3 views
1

레일즈 3.1.3, jquery.form.js 버전 2.9.4 및 jquery 1.7.1을 사용하고 있습니다. 콘솔 출력 문을 jquery.form.js에 넣었으므로 (방화 벽 콘솔에서)로드 된 것을 볼 수 있습니다.

그리고이 같은 내 양식 설정 :

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

을 그리고 나는 내가 불을 지르고 콘솔에서 다음과 같은 오류 메시지가 얻을 양식 제출 버튼을 클릭 할 때 :

$를 (이) .ajaxSubmit이 함수가 아닙니다.

여기서 내가 뭘 잘못하고 있니?

답변

0

아마도 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; 
    }); 
}); 
2

나는이 기능을 사용한 적이 있지만 구문의 의사에 따라 올바른 같습니다 http://jquery.malsup.com/form/#ajaxSubmit.

코드를 모두 보지 않고 jQuery 플러그인을 연결하지 않았거나 $(document).ready(function() { //code });에 코드를 래핑하지 않았습니다.

소스 코드를보고 플러그인이 연결되어 있는지 확인하십시오. 거기 있니?

var options 바로 위에 경고하십시오. 출력됩니까?

+0

+ 1 플러그인이 올바르게 링크되지 않았거나 코드가로드되기 전에 실행중인 것처럼 들립니다. –

+0

OP : "콘솔 부트 문을 jquery.form.js에 넣었습니다. 그래서 방화범이 치는 콘솔에서로드 된 것을 볼 수 있습니다." 그래서 문제는 포함되지 않는 것 같습니다. – glortho

0

jQuery가 다른 js 파일과 충돌해야한다고 생각합니다. here에서 $을 코드로 대체하면 도움이 될 수 있습니다. 당신이 작동

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

의 jQuery LIB 후 다른 lib 디렉토리 파일을 추가 할 수 있도록

5

이 새로운 기능입니다 .. 제가 테스트 한 .. 이 당신을 위해 작동 바랍니다 ..

관련 문제