Avatar billede mik28 Seniormester
13. juli 2010 - 10:17 Der er 9 kommentarer og
1 løsning

Disable link

Hej Eksperter

Jeg ønsker at disable et link for at undgå at en bruger kan dobbeltklikke på det og dermed potentielt submitte en form 2 gange. Jeg har prøvet følgende med det virker tilsyneladende ikke.

<a href="java script:enellerandenform.submit();" onclick="java script:this.href.disable();">ladida</a>

Hvad gør jeg forkert?
Avatar billede majbom Novice
13. juli 2010 - 10:56 #1
prøv med:

function submitForm(){
  var clicked = 0;
  if (clicked<1){
      clicked=1;
      return true;
  }
  return false;
}


<a href="java script:enellerandenform.submit()">submit</a>
<form name="enellerandenform" onsubmit="submitForm()" method="post" action="...">...</form>


jeg har ikke testet det...
Avatar billede mik28 Seniormester
13. juli 2010 - 11:05 #2
Burde det her så ikke virke?

<html>
<head>
<script type="text/javascript">
function submitForm(){
  var clicked = 0;
  if (clicked<1){
      clicked=1;
      return true;
  }
  return false;
}
</script>
</head>

<body>
<form action="/" id="form" onsubmit="submitForm();">
<a href="java script:this.document.getElementById('form').submit();">test</a>
</form>
</body>
</html>
Avatar billede mik28 Seniormester
13. juli 2010 - 11:07 #3
Jeg kan ikke få det til at virke
Avatar billede mik28 Seniormester
13. juli 2010 - 11:56 #4
Kan man gøre noget i den her stil?

<form action="/" id="form" onunload="java script:document.getElementById('knap1').removeAttribute('href');">

har prøvet med

<a href="http://google.dk" target="_blank" onclick="this.removeAttribute('href');">google</a>

men det kan jeg jo ikke
Avatar billede mik28 Seniormester
13. juli 2010 - 12:22 #5
Betyder return false ikke at formen ikke bliver submittet??????

onclick="java script:this.href.disable();this.style.display='none';return false;"
Avatar billede majbom Novice
13. juli 2010 - 12:25 #6
-> #5 - jo det gør det...

jeg kan sq ikke lige se hvordan det skal laves, når det er et link og ikke en knap - det er nemmere med en knap :)
Avatar billede mik28 Seniormester
13. juli 2010 - 13:11 #7
Det er jeg godt klar over :-), men nu er det et link som submitter formen. Det kan jeg ikke lige lave om på
Avatar billede mik28 Seniormester
13. juli 2010 - 13:40 #8
det er lidt noget hejs men jeg har lavet en

onclick="this.style.display='none';"

på linket. Der må da være en mere elegant måde
Avatar billede mik28 Seniormester
13. juli 2010 - 13:47 #9
hvorfor kan jeg ikke skrive

this.href.disable();
Avatar billede intenz Novice
15. juli 2010 - 18:22 #10
Du kan løse det med en closure. Noget i den stil her:


<script type="text/javascript">

var Form = function() {
    var isSubmitted = false;

    return {
        submit: function(formName) {
            if (!isSubmitted) {
                isSubmitted = true;
                document.getElementById(formName).submit();
            }
            return false;
        }
    }
}();

</script>
<form action="/" id="form">
<a href="#" onclick="return Form.submit('form');">test</a>
</form>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester