Avatar billede binow Nybegynder
12. marts 2002 - 06:07 Der er 16 kommentarer og
1 løsning

Hvordan disabler jeg en submit knap så den ku sender formen engan

Jeg har en form med en masse variabler i.

Når jeg klikker på submit kanppen er der lang svartid og man kan nemt nå at klikke flere gange på knappen, hvilket resulterer i at informationerne bliver sendt til databasen flere gange. Det er jo ikke så fedt :-(

Kan jeg ikke undgå det på en eller anden snedig måde?

Mvh Binow
Avatar billede invisibleman Nybegynder
12. marts 2002 - 07:15 #1
Jo .. du bruger et lille java script:

<script language="javascript" type="text/javascript">
  var issent = false;

  function submit_form() {
    if (!issent) {
      issent = true;
      return true;
    } else {
      alert("Vent venligst, mens dataene sendes..");
    }
  }
</script>

i dit <form .. > tag sætter du da en: onsubmit="return submit_form();"

og det er det. MEN folk kan jo slå JavaScript fra :(
Avatar billede binow Nybegynder
12. marts 2002 - 07:27 #2
Det er desvære ikke nok, meddelsen kommer godt nok, men når der klikkes ok, kan man sende igen.

Det lykkedes mig at sende data 3 gange inden den skiftede til næste side.

Kan man ikke slå knappen helt fra?
Avatar billede delwin Nybegynder
12. marts 2002 - 09:26 #3
efter alert("Vent venligst......");

skriver du:

return false;

så der kommer til at stå

alert("Vent venligst, mens dataene sendes..");
return false;
Avatar billede bounce2002 Nybegynder
12. marts 2002 - 09:28 #4
kna du ik bruge en exit; kommando ? .....
Avatar billede bounce2002 Nybegynder
12. marts 2002 - 09:29 #5
kna = kan ....
Avatar billede thomashove Nybegynder
12. marts 2002 - 09:32 #6
kan du ikke bare disable din submit knap f.eks.

<script language="javascript" type="text/javascript">

function hitme()
{
document.formen.test.disabled=true;
}

</script> 


<html>
<form name='formen'>

<input type=submit name='test' onclick='hitme()' value='test'>

</form>
</html>
Avatar billede tipsen Nybegynder
12. marts 2002 - 12:07 #7
Du kan bare lave et unikt indeks over flere felter i mysql - så er det umuligt at indsætte identiske data i databasen...
Avatar billede tipsen Nybegynder
12. marts 2002 - 12:09 #8
så er du ikke afhængig af at javascript er slået til i browseren - og det er ikke en høkerløsning i php...
Avatar billede binow Nybegynder
12. marts 2002 - 12:48 #9
tipsen>>

Unikt felt?  Vil det sige at hvis jeg nu laver navn, adresse,by,postnr til et unikt flet så kan man ikke sætte den samme kombination ind igen?
Avatar billede tipsen Nybegynder
12. marts 2002 - 13:07 #10
præcis
Avatar billede tipsen Nybegynder
12. marts 2002 - 13:11 #11
Eks. til gæstebog (Jeg har selv lige lært det - det er pænt smart!):

CREATE TABLE tabelnavn (
  gst_id tinyint(3) unsigned zerofill DEFAULT '000' NOT NULL auto_increment,
  gst_name varchar(50) NOT NULL,
  gst_email varchar(50) NOT NULL,
  gst_country varchar(50) NOT NULL,
  gst_homepage varchar(80) NOT NULL,
  gst_message text NOT NULL,
  gst_time timestamp(14),
  PRIMARY KEY (gst_id),
  UNIQUE INDEX dblpost (gst_name, gst_email, gst_country, gst_homepage, gst_message(100))
) TYPE=MYISAM;

NB: Ovenstående er lidt specielt, da man når man benytter BLOB og TEXT felter, skal benytte en MyISAM tabel og samtidig indikere, hvor mange karakterer (100) den skal indeksere over!

-Der står en god forklaring i mysql-manualen - den brugte jeg!
Avatar billede tipsen Nybegynder
12. marts 2002 - 13:16 #12
Du kan også tilføje et indeks til en eksisterende tabel:

ALTER TABLE tabelnavn ADD UNIQUE indexNavn (navn, adresse, by,postnr);
Avatar billede binow Nybegynder
12. marts 2002 - 13:38 #13
tipsen--

Finder databasen så selv ud af om data er der, eller skal man lave en forspørgsel.  Kan man senere lave en update?
Avatar billede tipsen Nybegynder
12. marts 2002 - 14:14 #14
den eneste restriktion du laver er, at du ikke kan oprette en ny post med præcis samme navn, adresse, by og postnr som en eksisterende post - og så er det ligegyldigt om du har 5 andre felter som alle er forskellige! (kunne eks. være dato, id, osv)

Alt andet fungerer som det plejer!
Avatar billede binow Nybegynder
12. marts 2002 - 14:14 #15
thomashove. Nej det virker ikke, så disabler den hele formen og sender ikke noget videre til næste side.
Avatar billede binow Nybegynder
12. marts 2002 - 14:17 #16
invisibleman og delvin. Jeg har brugt jeres svar og det virker. Men hvordan med lidt point.

tipsen-- jeg vil også gerne give dig nogle point, og vil meget gerne høre lidt mere om hvordan man gør.

10 point til hver.
Avatar billede tipsen Nybegynder
12. marts 2002 - 17:14 #17
Hvis du gider skrive din tabelstruktur her på siden, kan jeg stikke dig en stump kode der kan løse problemet!
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