2011-01-11 3 views
0

이 ajaxform 함수를 양식을 요약 할 때 호출되는 success 함수와 함께 작성했습니다. ajaxform은 IE가 아닌 다른 브라우저에서도 훌륭하게 작동합니다. IE가 왜 함수를 전달하지 않는지 이해할 수 없다.IE가 AJAXFORM의 성공 함수를 넘지 않음

AjaxForm :

function setupAjaxForm(form_class, updateStatus){ 
      var form = '.'+form_class; 
      var form_action = $(form).attr('action'); 
      var form_url = form_action+"ajax/"; 

      var submitOptions = { 
        url : form_url, 
        type : 'POST', 
        dataType : 'json', 
        success : function(json) { 
        var results = json.results; 
           alert(results); 
        if(results == "success"){ 
         updateStatus(json); 
        }else{ 
         alert(" FAIL "); 
            } 
        } 
      }; 
      $(form).ajaxForm(submitOptions); 
     } 

성공 기능 :

function addProductCartStatus(json){ 
    alert(" Entered for jquery "); 
} 

호출 기능

$(document).ready(function(){ 
    $('.addto_cart').click(function(){new setupAjaxForm('add_cartForm',addProductCartStatus);}); 
}); 
+0

new'는 생성자를 호출하지 않습니다. 또한, 코드 들여 쓰기가 끔찍한데, 경고 뒤에 익명 함수와 일치하는'}'을 알아내는 데 3 번이나 걸렸습니다 ... –

+0

Firefox와 다른 브라우저에서 작동합니다. It/Not/in IE 브라우저. 따라서 모든 기능이 작동합니다. 그 후에 경고? 내가 잘못하면 너 자신을 설명해주십시오. –

답변

0

이 대답은

인터넷 익스플로러가 어떤 경우에는 더 뻣뻣한 최신 코멘트에 주로가는 경우 . 언급 한 바와 같이이 줄 result = "success" 잘못이며, 개종자는 단어의 성공 문자열로 결과와 항상

을 갱신하므로 항상 true입니다 또한 당신의 아약스 호출에 error:function(){}를 추가하는 것이 좋습니다 이유는`에 대한 없습니다

+0

올바른 방법으로 보여 주셔서 감사합니다 :) –

+0

도움이 필요하면 항상 각 변수의 값을 각 브라우저 개발자 도구로 확인하십시오. – elasticrash

0

(10)는

if(result == "success") 

해야하며, "{"당신은 사용해야 당신의

if(result == "success") { 
    updateStatus(json); 
} else { 
+0

사실 그것은'==='이어야합니다. 아무도 러시아 강제 형 마법의 룰렛을 사용해서는 안되기 때문에 문자열 == 문자열에 대해서는 괜찮을 지 모르지만 일관성 문제입니다. –

+0

하하하, 해봅시다. russian roulette :)하지만 IE에서는 alert (results) 함수가 호출되지 않습니다. –

관련 문제