07. november 2002 - 17:34Der er
17 kommentarer og 1 løsning
Udløs en ja/nej-boks ved submit
Når brugeren submit'er en formular, ønsker jeg at udløse en boks, hvori der står indholdet af nogle af tekstfelterne, som han/hun har udfyldt. Herefter kan brugeren trykke OK eller CANCEL afhængig af, om vedkommende vil bekræfte de indtastede oplysninger.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
<script language="javascript"> function okay(){ if(confirm("er du sikker på at du vil tilmelde med nedenstående oplysninger\n\n " + (document.f.name.value) + "\n" + (document.f.email.value)+ "\n")){ document.f.submit(); } } </script>
tænk at man kan indtaste så mange fejl på så kort tid *GG, neden stående virker *G*
<script language="javascript"> function okay(){ if(confirm("er du sikker på at du vil tilmelde med nedenstående oplysninger\n\n " + (document.f.navn.value) + "\n" + (document.f.mail.value)+ "\n")){ document.f.submit(); } } </script>
Men hvad sker der hvis brugeren har deaktiveret understøttelse af JavaScript? Vil boksen så bare udeblive, eller vil han/hun slet ikke kunne sende formularen?
Den vil IKKE blive sendt, eftersom browseren vil deaktivere ALT der har med JS at gøre.... men jeg har omskrevet den lidt, så den vil submitte under alle omstændigheder, pånær hvis der bliver trykket "nej/cancel" i en browser der fint understøtter javascript :)
her :
<script language="javascript"> <!-- function okay(){ if(confirm("er du sikker på at du vil tilmelde med nedenstående oplysninger\n\n" + (document.f.navn.value) + "\n" + (document.f.mail.value)+ "\n")){ document.f.submit(); }else{ return false; } } // --> </script>
Det virker glimrende, men jeg stødte ind i et mindre problem. Select-boksen "koen" returnerer værdien "1" eller "2". Men hvis værdien er 1 skal ordet "mand" udskrives og hvis den er "2" skal ordet "kvinde" udskrives. Kan du klare den som det sidste?
<script language="javascript" type="text/javascript"> <!-- function confirmdata(){ if(confirm("Følgende oplysninger kan ikke ændres senere! Er de korrekte?\n\nBrugernavn: " + (document.form.brugernavn.value) + "\nKøn: " + (document.form.koen.value) + "\nFødselsdato: " + (document.form.dag.value) + "/" + (document.form.maaned.value) + "-" + (document.form.aarstal.value) +"\n")){ document.form.submit(); }else{ return false; } } // --> </script>
havde helt glemt dig, og gik i gang med mit eget projekt :)
nedenstående burde opfylde dine ønsker :)
<script language="javascript" type="text/javascript"> <!-- function confirmdata(){
var brugernavn = document.form.brugernavn.value; var koen = document.form.koen.value; var dag = document.form.dag.value; var maaned = document.form.maaned.value; var aarstal = document.form.aarstal.value;
Virker fint, men jeg mente at formularen skulle submittes under alle omstændigheder, men selve boksen skulle kun fremkomme, hvis felterne er udfyldt. Er det svært at ændre?
Jeg har nu redesignet dit script lidt, og det virker sådan set præcis som det skal, men der er en eller anden (uskyldig) fejl, når der trykkes "OK" i boksen!?
<script language="javascript" type="text/javascript"> <!-- function confirmdata(){
var brugernavn = document.form.brugernavn.value; var password1 = document.form.password1.value; var password2 = document.form.password2.value; var email = document.form.email.value; var koen = document.form.koen.value; var dag = document.form.dag.value; var maaned = document.form.maaned.value; var aarstal = document.form.aarstal.value; var bopael = document.form.bopael.value; var beskrivelse = document.form.beskrivelse.value;
var brugernavn = document.form.brugernavn.value; var password1 = document.form.password1.value; var password2 = document.form.password2.value; var email = document.form.email.value; var koen = document.form.koen.value; var dag = document.form.dag.value; var maaned = document.form.maaned.value; var aarstal = document.form.aarstal.value; var bopael = document.form.bopael.value; var beskrivelse = document.form.beskrivelse.value;
Nej, for hvis brugeren har slået javascript fra, skal vedkommende jo stadig have lov at oprette en profil, men samtidig skal jeg være sikker på felterne er udfyldt. Derfor valideres det serverside. Ovenstående er heller ej en decideret validering. Det fungerer bare som en påmindelse til brugeren om, at brugeren skal være sikker på, at visse felter er korrekt udfyldt. Eksempelvis kommer mange til at angive deres køn som det modsatte... Og det er faktisk meget brugervenligt - det tror jeg også du vil sige, hvis du prøvede det hele i praksis.
Ja, ovenstående virker fint, men lige idet man trykker "OK", blinker der en fejlmeddelelse i statuslinien, inden formularen submittes. Det var såmænd bare det, der undrede mig lidt!?
Nå, men jeg siger i hvertfald tusind tak for hjælpen!
Synes godt om
Ny brugerNybegynder
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.