2012-06-06 6 views
0

양식을 제출하는 스크립트를 작성한 후 "장바구니에 추가됨"을 표시하는 대화 상자를 엽니 다. 그것은 FF에서 작동합니다. Chrome은 나를 장바구니 페이지로 리디렉션합니다. IE는 아무 것도하지 않으며 아무것도 제출하지 않습니다. 양식 제출이 IE 및 Chrome에서 작동하지 않습니다.

<script type="text/javascript"> 
var productId = {{ product.vid }}; 
var addUrl = "http://shop.com/cart/add/" +productId+ "/?quantity="; 

jQuery(document).ready(function(){ 
bakVormAsset("#formProduct"); 
}); 

function bakVormAsset(product){ 
jQuery(product + " #formProductQuantity").val("1"); 
jQuery(product + " #formProductQuantity").keyup(function() { 
var val = jQuery(product + " #formProductQuantity").first().val(); 
}); 

jQuery(product + " .opener").click(function(event) { 
event.preventDefault(); 
$.get($(this).attr('href'), function(data, status) { 
    var val = jQuery(product + " #formProductQuantity").first().val(); 

     // Go to page 
     window.location.href = addUrl + val; 
     $("#dialog").dialog("open"); 
     return false; 
}); 
} 
</script> 

그리고 내 양식은 다음과 같습니다

<form class="formProduct" id="formProduct" action="#" method="post"> 
<input type="text" name="quantity" id="formProductQuantity" value="{{ product.stock.minimum }}" /> 
<a class="button blue opener" href="" title="{{ 'Add to cart' | t }}"><span>{{ 'Add to cart' | t }}</span></a> 
</form> 

편집 내가 언급하는 것을 잊었다 무엇 는 전원이 차단 코스 나에게 도와주세요 형태는 사용자가 유지해야 제출할 때 동일한 페이지이며 "장바구니"페이지로 리디렉션되지 않습니다. 당신은 아약스 또는 무언가를 통해 양식을 제출하려면

답변

1

http://jquery.malsup.com/form/

이 플러그인을 사용합니다.

그리고 Complete Method에서 당신이하고 싶은 일을 할 수 있습니다.

jQuery(product + " .opener").click(function(event) { 
    event.preventDefault(); 
     var options = { 
      success:  function(){ 
           $("#dialog").dialog("open"); 
          } // post-submit callback 
    }; 

    $('#myForm2').ajaxSubmit(options); 

}); 

양식의 동작을 지정해야합니다. 이 양식을 제출해야하는 조치.

+0

이것이 유일한 방법입니까? – Meules

+0

다른 많은 방법이있을 것입니다. 그러나 나는이 플러그인으로 이것을 선호한다. 이 플러그인은 브라우저 별 설정을 처리하기 때문에. –

+0

Ok thx .... 위에서 설명한대로 설정하는 것이 가능합니까? 귀하의 링크에서 문서를 읽었지 만 귀하가 기술 한 것처럼 쉽지 않습니다 (지식이 제한적 임). – Meules

관련 문제