当处理请求发布ajax时,如何禁用该表单中的表单(用户无法检查、填写文本、选择下拉列表等)


How to disable form (user cannot checked, fill text , select dropdown etc.) in this form when process requests post ajax?

当流程请求发布ajax时,如何禁用此表单中的表单(用户无法检查、填写文本、选择下拉菜单等)?

当进程发送post-ajax时,我想禁用表单id="f1",我该怎么做?

<script>
function send_requests_data(){
    $('#demoajax').hide();
    $('#loading').show();
    $.ajax({
        url: 'test.php',
        type: 'POST',
        data: $('#f1').serialize(),
        success: function(data){
            $("#loading").fadeOut("slow");
            $('#demoajax').show();
            $('#demoajax').html(data);
            }
        });
    return false;
}
// on load page call function code //
$(document).ready(send_requests_data());
</script>

这里可以找到一个可能的答案:禁用div 内的所有表单元素

TL;DR尝试添加以下内容:

$("#parent-selector :input").attr("disabled", true);

到ajax调用,其中父选择器是div或表单id。

试试这个,我希望它能有所帮助:

function send_requests_data(){
    $('#id1 input,select').attr('disabled','disbaled');
    $('#demoajax').hide();
    $('#loading').show();
    $.ajax({
        url: 'test.php',
        type: 'POST',
        data: $('#f1').serialize(),
        success: function(data){
            $("#loading").fadeOut("slow");
            $('#demoajax').show();
            $('#demoajax').html(data);
            $('#id1 input,select').removeAttr('disabled');
            }
        });
    return false;
}
$.each($('input, select ,textarea', '#f1'),function(){
  $(this).prop('disabled', true);
});

您可以在调用ajax函数之前先调用以下函数。它将禁用所有表单控件

     function disable() {
     var limit = document.forms[0].elements.length;
     for (i=0;i<limit;i++) {
     document.forms[0].elements[i].disabled = true;
        }
     }
相关文章: