Javascript 如何在第一次单击后禁用搜索按钮,直到结果来自服务器

Javascript 如何在第一次单击后禁用搜索按钮,直到结果来自服务器,javascript,jquery,html,angular-ui-bootstrap,Javascript,Jquery,Html,Angular Ui Bootstrap,谷歌搜索: 如果您使用的是ajax,则可以使用 返回false,而ajax readyState如果使用ajax,则可以使用 返回false,而ajax readyState这是如何实现的。首先从form标记中删除action=“action\u page.php”,因为它将调用表单提交方法,这是我们不想要的 当点击搜索按钮时,我们将禁用它,直到我们从服务器得到响应为止 这是一个原型代码 $('#submit-btn').click(function(){ $('#submit-btn').a


谷歌搜索:

如果您使用的是ajax,则可以使用
返回false,而ajax readyState如果使用ajax,则可以使用
返回false,而ajax readyState这是如何实现的。首先从
form
标记中删除
action=“action\u page.php”
,因为它将调用表单提交方法,这是我们不想要的

当点击搜索按钮时,我们将禁用它,直到我们从服务器得到响应为止

这是一个原型代码

$('#submit-btn').click(function(){
 $('#submit-btn').attr('disabled',true); // Disable button
 $.ajax({
   type: 'POST'
   url: 'action_page.php',
   data: {
      searchWords:$('search-inp').val()
   },
   success: function(data) { // After Success
        doSomethingWithData(data);
        $('#submit-btn').attr('disabled',false); // Enable button
   },
 });
});

以下是如何做到这一点。首先从
form
标记中删除
action=“action\u page.php”
,因为它将调用表单提交方法,这是我们不想要的

当点击搜索按钮时,我们将禁用它,直到我们从服务器得到响应为止

这是一个原型代码

$('#submit-btn').click(function(){
 $('#submit-btn').attr('disabled',true); // Disable button
 $.ajax({
   type: 'POST'
   url: 'action_page.php',
   data: {
      searchWords:$('search-inp').val()
   },
   success: function(data) { // After Success
        doSomethingWithData(data);
        $('#submit-btn').attr('disabled',false); // Enable button
   },
 });
});

尝试使用
event.preventDefault()
来防止表单的默认行为,添加您希望它执行的相关代码,然后确保向结果获取函数添加回调,使按钮在执行时再次启用(这将取决于您执行此操作的方式)

负责预防的位可能如下所示(与原始代码合并):

$(“输入[type='submit']”)。单击(函数(事件){
event.preventDefault();
$(this.attr('disabled',true);
//完成表单发布,然后在其“成功”功能中添加以下内容:
//$(原始提交按钮);
});

谷歌搜索:

尝试使用
event.preventDefault()
防止表单的默认行为,添加您希望它执行的相关代码,然后确保向结果获取函数添加回调,使按钮在执行时再次启用(这将取决于您的具体操作方式)

负责预防的位可能如下所示(与原始代码合并):

$(“输入[type='submit']”)。单击(函数(事件){
event.preventDefault();
$(this.attr('disabled',true);
//完成表单发布,然后在其“成功”功能中添加以下内容:
//$(原始提交按钮);
});

谷歌搜索:

您是如何获取结果的?AJAX?您是如何获取结果的?AJAX?您实际上不必删除
action=“action\u page.php”
,尽管如此,如果您这样做,但请使用
type=submit
保留一个
input
,表单仍将提交…这两个表单之间存在混淆。因此我在进行AJAX调用时从未使用过它们。您可以同时保留它们,如果在jQuery中使用,则操作属性和
input type=submit
function@webeno非常感谢。我将从下次开始尝试:-)。大家好,我还需要一个帮助。您实际上不必删除
action=“action\u page.php”
,但是如果您这样做,但是使用
type=submit
保留一个
input
,表单仍将提交…这两者之间混淆了。因此我在进行AJAX调用时从未使用过它们。如果在jQuery中使用,则可以同时保留action属性和
input type=submit
function@webeno非常感谢。下一次我会试试这个:-)。嗨,我需要更多的帮助。