如何防止<a href="">?</a>的双重提交

时间:2013-03-14 01:42:36

标签: javascript jquery

我对双重提交有疑问。

我有多个<a href = "">。 如果我点击其中一个<a href="">

,我想停用所有<a href= "">

代码:

<a href="dashboard.php" id ="submitID" class="submit" >Dashboard </a>
<a href="orderList.php"  id ="submitID" class="submit" >Order List</a>
<a href="newOrder.php"  id ="submitID" class ="submit">New Order</a>

4 个答案:

答案 0 :(得分:2)

首先,请将您的id修改为唯一。

如果您使用的是jQuery版本1.4.3 +:

$("a.submit").click(function() {
    $("a.submit").bind('click', false);
});

如果没有,请绑定function() { return false; }。那你也可以

$("a.submit").unbind('click')

当你希望他们再次工作时。

答案 1 :(得分:1)

欢迎使用Stack Overflow。

首先,您永远不应该有多个具有相同ID的DOM元素。

其次,在绑定中设置一个变量到提交类(绑定使用jquery),并在提交时将其翻转。

将jquery包含在脚本标记中,然后将javascript包装在文档准备好的

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<script type="text/javascript>
$(document).ready(function () {
    $('.submit').bind('click', function () {
        var isSubmitted = false;
        if (isSubmitted === false) {
            $.get($(this).attr('href'), function () {
                isSubmitted = true;
            });
        }
    });
});
</script>

这当然是假设你想要一些ajax风格的功能。如果没有,如果你有一个链接就不应该担心,因为你要发布到新页面

答案 2 :(得分:0)

Jquery的:

var count=0;
$(".submit").click(function(){
if(count>0){
return false
}
++count;
});

HTML

<a href="dashboard.php" id ="submitID1" class="submit" >Dashboard </a>

<a href="orderList.php"  id ="submitID2" class="submit" >Order List</a>    

<a href="newOrder.php"  id ="submitID3" class ="submit">New Order</a>

答案 3 :(得分:0)

var submitStatus = false;
    $('a.submit').click(function(e){
        if (!submitStatus) {
            alert('clicked');
            submitStatus = true;
        } else {
            e.preventDefault();
        }
    });

您可以在此处尝试:http://jsfiddle.net/p8a5s/ 并且t use the same ID用于不同的DOM元素,当然