Ajax表单只能工作一次

时间:2013-06-19 12:35:11

标签: php javascript ajax wordpress

我的脚本看起来像这样。 ,它来自插件。 ,我对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>

非常感谢。

修改

回调函数以die()结尾。我读到这只是为了能够从函数中检索输出。那也结束了AJAX吗?

2 个答案:

答案 0 :(得分:1)

要启用,您可以将disabled属性设置为false

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

我还会更改禁用它的代码;

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

来自jQuery docs

  

应该使用.prop()方法来设置disabled和checked而不是.attr()方法。

答案 1 :(得分:0)

使用

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

而不是

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