您好我想在使用Drupal表单API的下拉列表中使用Ajax。问题是我想阻止用户在来自服务器的Ajax响应返回之前提交表单。当选择列表状态被改变并且服务器响应请求时,如何禁用提交按钮或阻止任何其他用户操作。 旁边我用一个简单的表单,其中ajax已经连接到组合框选择列表如何防止在等待时间内提交表单在drupal中响应7
1
A
回答
5
阿贾克斯Drupal有一个名为.ajaxStart
公共方法你可以做一个
jQuery('#form_id').ajaxStart(function(){ //Here you prevent shit });
并且还拥有一个名为.ajaxSuccess为完成动作
0
jQuery允许您在AJAX调用完成后运行代码。当组合框更改时,您可以禁用您的元素,然后启用success
上的所有内容。以下是我从jQuery.ajax() Docs获得的一个示例。
$.ajax({
url: 'ajax/test.html',
success: function(data) {
$('.result').html(data);
alert('Load was performed.');
}
});
0
它只是一个技巧,你应该使用,以防止在Ajax加载期间提交。 在ajax加载过程中,只需禁用提交按钮并在成功时启用它。 就像是: 假设提交按钮的id是:submit_button,然后
$("#submit_button").attr("disabled", "disabled");
$.ajax({
url: 'html-data/demo.html',
success: function(data) {
$('#resultDiv').html(data);
$('#submit_button').removeAttr("disabled");
}
});
上面的代码是在jQuery中,它会在Drupal工作。 检查它。
0
设置一个全局标志
var flag = true;
然后在你的AJAX之前,您的帖子设置标记,以虚假
flag = false;
由于你的成功的部分功能
flag = true;
,然后您的提交按钮
onclick="return(if(flag));"
0
这里的方法是我对它
$(document).ajaxComplete(function(){
// the code to be fired after the AJAX is completed
$('#edit-submit').removeAttr("disabled");
});
$(document).ajaxStart(function(){
event.preventDefault();
$("#edit-submit").attr("disabled", "disabled");
});
相关问题
- 1. 如何防止用户在等待Ajax响应时的交互
- 2. 如何防止在输入时提交表单提交
- 3. 如何防止在angularjs中单击按钮时提交表单?
- 4. 如何防止在重新提交表单时重新提交表单?
- 5. 在等待响应时阻止函数
- 6. Drupal 7的如何防止多个表单提交(服务器端)
- 7. 如何在提交表单之前在jquery中等待?
- 8. Emacs在等待很长时间后在ssh上停止响应
- 9. 防止在登录时提交重复表单提交
- 10. jquery使表单提交等待函数调用的响应
- 11. 如何禁用Drupal表单提交按钮以防止双击提交?
- 12. 如何在提交表单时防止iPad键盘死机?
- 13. 如何在提交表单时防止页面刷新?
- 14. 如何防止重复表单提交
- 15. 如何防止表单提交默认?
- 16. 如何防止表单提交JQuery
- 17. 防止表单提交
- 18. jquery防止表单提交
- 19. jquery防止表单提交
- 20. 防止表单提交PHP
- 21. jquery:防止表单提交
- 22. 防止在jQuery表单上提交
- 23. 当VI在屏幕上等待提交消息时,如何停止Git提交?
- 24. 防止jQuery验证插件在提交表单时提交表单
- 25. 在线提交每周时间表。 (Drupal?)
- 26. 如何防止在Yii2中提交多个表单?
- 27. 如何防止表单在jQuery中提交行为?
- 28. 如何防止输入值在表单中提交?
- 29. 如何防止在grails中远程提交表单?
- 30. 如何防止在引导弹出窗口中提交表单?
你的意思是说,你已经选择哪个工作作为AJAX选择器,并且你想禁用可能性y在AJAX加载时提交表单? – 2011-12-22 12:11:27
是的,这是真的 – user435245 2011-12-25 13:26:55