Avatar billede 123mange Nybegynder
22. oktober 2001 - 10:48 Der er 15 kommentarer og
1 løsning

Form...

Hvordan kan man lave en mellemside mellem 2 sider i en form, der tjekker om de indtastede kriterier er korekte??

eks.
Side 1:
<form method=\"post\" action=\"2.htm\">
<input type=\"text\" name=\"navn\">
<input type=\"text\" name=\"adresse\">
<input type=\"submit\" name=\"send\">
</form>

Side 2:
Her skal en side så teste om om $navn f.eks. ikke indeholder \"æ\", \"ø\" eller \"å\". I adressen skal man teste for noget andet!

Her kommer spørgsmålet. Hvordan kan man automatisk sende inputsene videre til \"3.htm\"???
Avatar billede torbenmelander Nybegynder
22. oktober 2001 - 10:52 #1
Du kan tjekke med noet Javascript .. For at sende inputsene videre kan du gemme dem i nogle skjulte felter og så submitte side 2 ..
Avatar billede 123mange Nybegynder
22. oktober 2001 - 11:13 #2
Jamen hvordan kan man submitte uden at skulle trykke på \"send\"?? Det skal være sådan at den automatisk hopper videre til side 3 når den har tjekket inputsene.... :)
Avatar billede podata Nybegynder
22. oktober 2001 - 11:25 #3
Jeg forstår ikke helt hvad du vil med side 2 ?
Du kan sætte et javascript op der checker brugerens input på din side med formularen når der bliver trykket submit.
http://www.builder.dk/artikler/article.asp?AID=31
Avatar billede torbenmelander Nybegynder
22. oktober 2001 - 11:37 #4
Du kun vist nok autosubmitte med noget javascript, kan dog ikek lige huske hvordan ;-)
Avatar billede 123mange Nybegynder
22. oktober 2001 - 12:07 #5
--> podata
Det er fordi at jeg skal køre et PHP script inden man udfylder resten af formen... :)
Avatar billede madsokist Nybegynder
22. oktober 2001 - 12:11 #6
du kan fange de indtastede data med et javascript. Dermed bliver de indtastede data valideret inden de bliver sendt afsted til din webserver. Men med javascript er der ingen garanti for at de bliver valideret - brugeren kan slå det fra i sin browser.

Kan du bruge det til noget? eller skal det valideringen foregå på webserveren?
Avatar billede jakoba Nybegynder
22. oktober 2001 - 12:57 #7
du kan aktivere en forms submit-knap med:

    document.formnavn.submitknapnavn.click()

hvis der er en onclock handler på knappen vil den ikke blive aktiveret, derudover er et præcis som hvis brugeren selv havde klikket.

mvh JakobA
Avatar billede jakoba Nybegynder
22. oktober 2001 - 12:58 #8
Ups.  onclock -> onclick
Avatar billede podata Nybegynder
22. oktober 2001 - 13:00 #9
Åh, sådan. PHP er ikke lige mig :)
Avatar billede 123mange Nybegynder
22. oktober 2001 - 13:10 #10
--> Jakoba
Gider du ikke at skære det ud i pap...?? hehe

Jeg er vist ikke lige helt med? :-/
Avatar billede torbenmelander Nybegynder
22. oktober 2001 - 15:20 #11
På side2.htm kan du vis dataerne er i orden udføre dette javascript.

På denne måde laver du de skjulte felter:

<form name=\"form1\" method=\"post\" action=\"3.htm\">
  <input type=\"hidden\" name=\"navn\" value=\"her sætter du teksten ind med dit php\">
  <input type=\"hidden\" name=\"adresse\" value=\"her sætter du teksten ind med dit php\">
</form>

I ASP ville man indsætte det med <%=Request.Form(\"navn\")%> osv. jeg ved ikke hvordan det gøres med php

Når du har valideret dataene og fundet at de er ok: indsætter du dette javascrit:

<SCRIPT>document.form1.submit()</SCRIPT>
Avatar billede Slettet bruger
22. oktober 2001 - 16:18 #12
Hvorfor vil du teste på side 2? Hvorfor ikke udføre testen on-the-fly med JavaScript på side 1 og så bare submitte til side 3 direkte uden mellemstation? Fx:

<script>
function test(frm) {
if (frm.tekstfelt.value.indexOf(\"æ\") != -1 && frm.tekstfelt.value.indexOf(\"ø\") != -1 && frm.tekstfelt.value.indexOf(\"å\") != -1) return false;
return true;
}
</script>

Og i din <form>:

<form onSubmit=\"return test(this);\">
<input type=\"text\" name=\"tekstfelt\" value=\"Dette felt må ikke indeholde æ, ø og å!\"><br>
<input type=\"submit\" value=\"Send\">
</form>
Avatar billede Slettet bruger
22. oktober 2001 - 16:22 #13
Og omskrevet så den passer til din form:

<html>
<head>
<script>
function test(frm) {
if (frm.navn.value.indexOf(\"æ\") != -1 && frm.navn.value.indexOf(\"ø\") != -1 && frm.navn.value.indexOf(\"å\") != -1) {
alert(\"Navne-feltet må IKKE indeholde æ, ø og å!\");
return false;
}
return true;
}
</script>
</head>
<body>
<form onSubmit=\"return test(this);\">
<input type=\"text\" name=\"navn\" value=\"Dette felt må ikke indeholde æ, ø og å!\"><br>
<input type=\"text\" name=\"adresse\" value=\"Adresse\"><br>
<input type=\"submit\" value=\"Send\">
</form>
</body>
</html>

Hvad skal kriterierne være for adresse-feltet?
Avatar billede Slettet bruger
22. oktober 2001 - 16:23 #14
Ups, udskift:
if (frm.navn.value.indexOf(\"æ\") != -1 && frm.navn.value.indexOf(\"ø\") != -1 && frm.navn.value.indexOf(\"å\") != -1) {
med:
if (frm.navn.value.indexOf(\"æ\") != -1 || frm.navn.value.indexOf(\"ø\") != -1 || frm.navn.value.indexOf(\"å\") != -1) {
Avatar billede 123mange Nybegynder
22. oktober 2001 - 16:51 #15
--> phoenixv
Grunden til at jeg vil have en mellemstation er at der skal testes om det domæne er ledigt eller ej...

Jeg fatter minus af Javascript, så jeg vil hellere bruge PHP ;)

PHP rules... *gG*
Avatar billede torbenmelander Nybegynder
23. oktober 2001 - 08:00 #16
Takker for point ;-)
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