2011-03-10 5 views
0

application.js 파일에 다음 메소드를 넣습니다.Application.js의 js 메소드가 호출되지 않습니다.

var formhandler = function() { 
    var submit, isSubmit = false; 
    submit = function(){ 
       // flop and return false once by the use of operator order. 
    return isSubmit != (isSubmit = true); 
    }; 
    return { 
     submit: submit 
     }; 
}(); // <-- use direct invcation to keep the internal variables "static" 

양식의 헤더 섹션에 직접 작성하면 정상적으로 작동합니다. 그러나 application.js 파일에 넣으면 호출되거나 발견되지 않습니다.

applcation.js에있는 함수를 어떻게 호출해야합니까?

또한 레이아웃의 헤더에는 다음과 같은 내용이 있습니다.

<%= javascript_include_tag :all, :cache => true, :recursive => true %>`enter code here` 
+0

application.js 파일에 경고 또는 console.log를 추가하여로드했는지 확인해 보셨습니까? – tilleryj

+0

나는 그랬고 네, 그 application.js에서 일했다. 이제는 사용자가 여러 번 제출하지 못하도록하는 일을 실제로하지 않는다는 것을 깨달았습니다. – chell

+0

제출 기능에 console.log (isSubmit! = (isSubmit = true))를 추가하여 보았습니까? 반환 값이 정확합니다. 그렇다면 처리기를 양식에 연결하는 방법에 문제가있을 수 있습니다. – tilleryj

답변

1

나는 완전히 당신의 질문을 이해 말게, 그래서 제가 틀릴 수도 있지만 발언으로 여기

당신은 항상 false를 반환 :

return isSubmit != (isSubmit = true); 

을 나는 그것이

을해야한다고 생각
return isSubmit != (isSubmit == true); 
+0

입력 해 주셔서 감사합니다. 나는 그것을 시도해 보았고 사용자가 여러 번 제출할 수있는 것처럼 보인다. – chell

관련 문제