2013-06-19 3 views
1

스크립트가 이렇게 생겼습니다. , 플러그인입니다. 아니요, 아약스에 만족하지 않습니다.Ajax 양식은 한 번만 작동합니다.

어떻게하면이 양식을 새로 고치고 처음 제출 한 후에 입력을 다시받을 수 있습니까?

<script> 
jQuery(document).ready(function() { 
    var options = { 
     target: '#ps_output',  // target element(s) to be updated with server response 
     beforeSubmit: showRequest,  // pre-submit callback 
     success:  showResponse, // post-submit callback 
     url:   '<?php echo $link; ?>'   // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php  
}; 

    // bind form using 'ajaxForm' 
    jQuery('#thumbnail_upload').ajaxForm(options); 
}); 

function showRequest(formData, jqForm, options) { 
    //do extra stuff before submit like disable the submit button 
    jQuery('#ps_output').html('Sending...'); 
    jQuery('#submit-ajax').attr("disabled", "disabled"); 
} 

function showResponse(responseText, statusText, xhr, $form) { 
    //do extra stuff after submit 
    jQuery('#submit-ajax').attr("enabled", "enabled"); 
} 
</script> 

고맙습니다.

EDIT는 :

콜백 함수 die() 만료. 필자는 단순히 함수에서 출력을 검색 할 수 있다는 것을 읽었습니다. AJAX도 끝나나요?

jQuery('#submit-ajax').attr("enabled", "enabled"); 
+0

fiddle 또는 html 소스를 제공 할 수 있습니까? –

+0

wp 플러그인이 문제가 있으므로 링크를 보내주십시오. - 그 해결책은 폼 처리와 관련된 PHP 파일에 있다고 말하고 싶습니다. – sinisake

+0

php 콜백 함수가 die로 끝납니다. – Martol1ni

답변

1

을 사용하려면

+0

이것은 매우 잘 작동합니다! 상쾌하게하지 않고 양식을 지울 수 있습니까? – Martol1ni

+0

만약 서버 측이'die()'를하고 있다면, 서버가 처리를 완료하기 전에 종료하지 않는다면 아무런 반응이 없기 때문에 문제가되지 않을 것입니다. – MrCode

+0

위 내 의견을 편집했습니다. – Martol1ni

0

사용

jQuery('#submit-ajax').removeAttr("disabled");//to remove disabled attribue 

대신, 당신은 falsedisabled 속성을 설정할 수 있습니다.

jQuery('#submit-ajax').prop('disabled', false); 

나는 또한 코드를 변경하여 비활성화합니다. jQuery docs 가입일

jQuery('#submit-ajax').prop('disabled', true); 

다음 .prop() 메소드를 사용할 설정하는 대신 .attr() 메소드 점검해야

.