简体   繁体   中英

How can i prevent double submission of <a href=“”>?

I have a question regarding the double submission.

I have a multiple <a href = ""> . I want to disables all the <a href=""> if i click in one of the <a href= "">

Code:

<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>

First, please fix your id s to be unique.

If you're using jQuery versions 1.4.3+:

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

If not, bind function() { return false; } function() { return false; } . Then you can also

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

when you want them to work again.

Welcome to Stack Overflow.

First of all, you should never have multiple DOM elements with the same ID.

Second of all, set a variable in a bind to the submit class (the bind is using jquery), and flip it if you submit.

Include jquery with a script tag and then wrap your javascript in document ready

<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>

This is of course assuming you want some ajax style functionality. If not, you shouldn't really be worried if you have a link since you'd be posting to a new page

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>
var submitStatus = false;
    $('a.submit').click(function(e){
        if (!submitStatus) {
            alert('clicked');
            submitStatus = true;
        } else {
            e.preventDefault();
        }
    });

You can try it here: http://jsfiddle.net/p8a5s/ And don t use the same ID s for different DOM elements, of course

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM