2010-11-29 5 views
1

Ajax 양식 제출을 사용하려고합니다. BeforeSubmit 함수에서. 내가 제출 한 양식의 ID를 얻고 싶습니다.Jquery Ajax beforeSubmit

function StatusComments() { 

    $('.status-comment').submit(function() { 
     $(this).ajaxSubmit(options); 
     return false; 
    }); 

    //$('.status-comment').ajaxForm(options); 


    var options = { 
     beforeSubmit: showRequest, 
     success: showResponse, 
     resetForm: true 
    }; 

    function showRequest(formData, jqForm, options) { 
     var formID = $(this).attr("id"); 
     alert(formID); 
     $('.comment'+formID).attr('disabled', true); 

    } 

    function showResponse(responseText, statusText, xhr, form) { 
     var formID = form.attr('id'); 
     $("#commentbox-"+formID).before(responseText); 
    } 

} 

하지만 난 showRequest :(에서 정의되지 않은으로 formID을 얻을

답변

4

The documentation for the plug-in 양식 인스턴스가, this 아닌 jqForm 인수 될 (그리고 이미 jQuery를 인스턴스 일) 것을 말한다 : 그럼.

function showRequest(formData, jqForm, options) { 
    var formID = jqForm.attr("id"); // <== Change on this line 
    alert(formID); 
    $('.comment'+formID).attr('disabled', true); 
} 
은 jQuery를 스타일의 콜백 일반적으로, 따라서 당신의 혼란을 작동하지만이 문서는 말을 얼마나 아니다

+0

크라우 :. 감사 할 수 있습니다. 내가 콜백으로 어떤 실수를했는지 지적하고 있니? –

+1

@Harsha : * "내가 콜백으로 어떤 실수를했는지 지적 할 수 있겠습니까?"* 죄송합니다. "jQuery 스타일 콜백이 정상적으로 작동하는 방식이 아닙니다."* 나는 ** 작성자 ** 플러그인의 약간 이상한 방식으로 일을하고 있었지만 당신이 아니 었습니다. 일반적으로 jQuery에서 콜백에서 'this'는 관련 DOM 요소를 가리키고 있으므로 내가했던 것처럼 'this'가 양식 요소라고 가정했을 것입니다. 하지만이 플러그인은 다르게 수행하고 콜백에 대한 두 번째 인수로 양식에 대한 참조를 전달합니다. 하지만 그들은 괜찮은 문서를 제공하므로 ...-) –

+0

: P 고마워요 ....... –