相关疑难解决方法(0)

提交表单时禁用按钮的最简单方法是什么?

我一直试图找到"正确"的方法来防止双重提交表格.SO上有很多相关的帖子,但没有一个在我这里找到.下面两个问题.

这是我的表格

<form method="POST">
    <input type="text" name="q"/>
    <button class="once-only">Send</button>
</form>
Run Code Online (Sandbox Code Playgroud)

这是我第一次尝试禁用双提交:

$(document).ready(function(){
    $(".once-only").click(function(){
        this.disabled = true;
        return true;
    });
});
Run Code Online (Sandbox Code Playgroud)

这是这里建议的方法:使用JS/Jquery发布后禁用按钮.该帖子表明提交元素必须是输入而不是按钮,但测试两者没有区别.您可以使用这个小提琴自己尝试:http://jsfiddle.net/uT3hP/

如您所见,这会禁用该按钮,但也会阻止提交表单.在提交元素是按钮和输入元素的情况下.

问题1:为什么此单击处理程序停止提交表单?

搜索更多我找到这个解决方案(当我禁用提交按钮以防止双击时,为什么我的表单不发布?)

if($.data(this, 'clicked')){
    return false;
} else{
    $.data(this, 'clicked', true);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

你可以用这个小提琴来玩这个:http://jsfiddle.net/uT3hP/1/

这确实有效,但......

问题2: 这是我们能做的最好的吗?

我认为这将是一件基本的事情.方法1不起作用,方法2不起作用,但我不喜欢它并且感觉必须有一种更简单的方法.

javascript forms jquery

20
推荐指数
2
解决办法
3万
查看次数

表单提交时禁用按钮

我有一个按钮,我想在表单提交时禁用,以防止用户多次提交.

我已尝试使用javascript onclick天真地禁用该按钮,但如果客户端验证失败按钮仍保持禁用状态.

如果表单成功提交不仅仅是在用户单击时,如何禁用该按钮?

这是一个ASP.NET表单,所以如果可能的话,我想很好地与asp.net ajax页面生命周期挂钩.

javascript asp.net webforms

15
推荐指数
3
解决办法
2万
查看次数

单击时禁用按钮

我有一个按钮控件.一旦用户点击它,就会触发click事件,然后该按钮应被禁用.我怎样才能做到这一点?我可以选择使用JQuery或JavaScript或两者.

这是我的按钮声明:

<asp:Button 
  ID="Button1" 
  runat="server" 
  Text="Click Me" 
  onclick="Button1_Click"
/> 
Run Code Online (Sandbox Code Playgroud)

在后面的按钮单击代码上,我添加了一个Response.Write().应该执行该操作然后应该禁用该按钮

javascript asp.net jquery

14
推荐指数
2
解决办法
2万
查看次数

标签 统计

javascript ×3

asp.net ×2

jquery ×2

forms ×1

webforms ×1