2010-04-21 1 views
0

이 코드 http://gist.github.com/110410을 사용하여 jQuery를 사용하여 프로토 타입을 덤프하려고했지만 문제가 있습니다.jquery on rails

이 내 HTML (A LINK_TO 생성 된 링크)입니다 :

<a onclick="var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;var s = document.createElement('input'); s.setAttribute('type', 'hidden'); s.setAttribute('name', 'authenticity_token'); s.setAttribute('value', 'Mi6RcR6YDyvg2uNwGrpbeIJutSHa2fYboU37wSDE7AU='); f.appendChild(s);f.submit();return false;" class="post add_to_cart " href="/line_items?product_id=547">Add to cart</a> 

문제 :이 페이지가 다시로드 않는다는 점을 제외한다로

모든 것이 작동합니다. 나는 제출이 페이지 재로드를 유발하는 것을 통해 일어난다 고 생각한다.

이를 방지하는 우아한 방법이 있습니까? false를 반환; 이 경우에 그것을 자르는 것처럼 보이지 않습니다.

답변

0

ew. 이 (jQuery를) 사용

<a class="post add_to_cart" rel="Mi6RcR6YDyvg2uNwGrpbeIJutSHa2fYboU37wSDE7AU=" href="/line_items?product_id=547">Add to cart</a> 
<script> 
    $("a.add_to_cart").click(function(){ 
     $.post(this.href,{'authenticity_token':$(this).attr("rel")}); 
     return false; 
    }); 
</script> 

내가 토큰을 가정 앵커의 REL의 ATTR에서 인증 토큰을 넣어하는 제품에 고유합니다.


UPDATE

분명히 레일 당신에게 아무것도 전혀 전혀 제어 할 수 없기 때문에 : 그래서 많이 필요가 없습니다 전체의 onclick 부분은 레일 도우미에 의해 생성되는

<a class="post add_to_cart" href="/line_items?product_id=547" onclick='   $.post(this.href,{"authenticity_token":"Mi6RcR6YDyvg2uNwGrpbeIJutSHa2fYboU37wSDE7AU="});return false;'>Add to cart</a> 
+0

을 그것도 제어, 나는 비 자바 스크립트 브라우저에 보관하고 싶습니다. HTML 코드를 변경하지 않고 제출을 가로 챌 수있는 방법이 있습니까? – Cezar

+0

나는 레일이 너무 심하게 빨려 들었다는 것을 전혀 몰랐습니다. –

+0

자바 스크립트 브라우저가 아닌 브라우저를 유지하고 싶습니까? 자바 스크립트? 그건 말이되지 않습니다. –