2010-04-22 3 views
0

디버깅해야하는 코드가 일부 상속되었습니다. 그것은 현재 작동하지 않습니다. 나의 임무는 그것을 작동시키는 것이다. 다른 요구 사항이 없습니다. 아니, 이건 숙제가 아니야, 이건 유지 보수의 악몽 일이야.ajax 제출 및 기타 코드. 누군가이 코드가 무엇을하는지 판단 할 수있게 도와 줄 수 있습니까?

ASP.Net (Framework 3.5), C#, jQuery 1.4.2. 이 프로젝트는 jQuery와 AJAX를 많이 사용합니다. 항목을 선택하면 해당 항목 (사용자)을 데이터베이스의 개체에 추가해야하는 페이지가 드롭 다운되어 있습니다.

이렇게하려면 먼저 프로그래머가 페이지로드시 AJAX를 통해 전체 페이지를 동적으로로드합니다. 이렇게하려면 5 개의 div가 있고 각각은 jQuery 호출에서 웹 사이트의 다른 전체 페이지로로드됩니다.

어떻게 든 HTML과 BODY와 다른 모든 것들은 제거되고 div의 내용은 aspx 페이지의 내용으로로드됩니다. 그것은 마술처럼 HTML, 머리, 본문, 양식 태그를 제거하고 기존 HTML 머리 본문 양식 태그와 병합하기 위해 브라우저에 의존하기 때문에 나에게는 매우 틀린 것으로 보입니다.

function CleanupResponseText(responseText, uniqueName) { 
    responseText = responseText.replace("theForm.submit();", "SubmitSubForm(theForm, $(theForm).parent());"); 
    responseText = responseText.replace(new RegExp("theForm", "g"), uniqueName); 
    responseText = responseText.replace(new RegExp("doPostBack", "g"), "doPostBack" + uniqueName); 
    return responseText; 
} 

자체가 발사 드롭 다운 그것이 onchange를 이벤트의 경우 : "내용"페이지를 문자열로 반환 될 때이 사업부에 추가되기 전에

또한, 이전 프로그래머는 실행이 코드를 가지고 - 내 생각이 있습니다 : "개체가이 속성 또는 메서드를 지원하지 않습니다 마이크로 소프트의 JScript 런타임 오류가"

function SubmitSubForm(form, container) { 
    //ShowLoading(container); 
    $(form).ajaxSubmit({ 
       url: $(form).attr("action"), 
       success: function(responseText) { 
        $(container).html(CleanupResponseText(responseText, form.id)); 
        $("form", container).css("margin-top", "0").css("padding-top", "0"); 
        //HideLoading(container); 
       } 
      } 
     ); 
    } 

이 있다는 메시지와 함께, IE에서 불면 : 여기 트리거됩니다 코드입니다 그 $ (양식) .ajaxSubmit 메서드가 존재하지 않습니다.

정말이 코드는 무엇을하려합니까? 나는 지금 당장 돌아 서서 나의 유일한 선택은 모든 것을 고쳐서 다시 시작하는 것이라고 생각한다. 그러나 나는 필요하지 않다면 그렇게하지 않을 것입니다.

이 코드가 좋습니까? 닷넷과 맞서기 때문에 그것이 문제가되는 이유입니까?

jquery ajax submit

에 대한

답변

0

jQuery 재미가 너무 많아 보입니다. 처음부터 잘못 설계 되었기 때문에 전체 코드 블록을 완전히 수정했습니다.

0

구글 검색은 jQuery Form Plugin 보여준다. 그걸 감안할 때 다른 코드가 메소드에 액세스 할 수있는 페이지에 해당 파일이 포함되어 있습니까? 이 코드는 IE가 아닌 Firefox에서 작동합니까?

+0

좋습니다. 예, 포함되어 있으며, Firefox에서는 작동하지 않습니다. Firefox의 오류는 "$ (form) .ajaxSubmit is not function"입니다. 이전 버전의 사람이 변경하지 않았는지 확인하기 위해 스크립트의 최신 버전을 다운로드했습니다. –

관련 문제