Avatar billede mbm Nybegynder
03. august 2005 - 15:33 Der er 17 kommentarer og
1 løsning

form virker ikke

Hej,
har denne form:

<form name="myform" method="post">
<input type="hidden" name="id" value="<%= request.QueryString("id")%>">
<table border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>Din email:</td>
    <td> </td>
    <td>Gentag din email:</td>
  </tr>
  <tr>
    <td><input type="text" name="email" size="25"></td>
    <td><img src="images/pix.gif" width="20"></td>
    <td><input type="text" name="repeatemail" size="25"></td>
  </tr>
</table>
<br>
<input type="radio" name="valg" value="Tilmeld" CHECKED> Tilmeld nyhedsmail
<br>
<input type="radio" name="valg" value="frameld"> Frameld nyhedsmail         
<br><br>
<input type="submit" value="ok">
</form>



Og øverst på samme side har jeg dette asp:

if request.form("submit") <> "" then
response.write "Det virker"
end if


men jeg jeg klikker på ok knappen så kommer mit script ikke ind i min if sætning øverst, hvorfor ikke det??
Avatar billede erikjacobsen Ekspert
03. august 2005 - 15:40 #1
Ret
<input type="submit" value="ok">
til
<input type="submit" name="submit" value="ok">
Avatar billede hemberg Forsker
03. august 2005 - 15:43 #2
Mangler der ikke en [action="filnavn.asp"] i formen?
Avatar billede mbm Nybegynder
03. august 2005 - 15:51 #3
erikjacobsen <<  jeg er næsten 100% sikker på at jeg havde sætningen sådan på et tidspunkt, men det havde jeg jo nok ikke :-)
Hvis du laver et svar så får du lidt points.
Avatar billede mbm Nybegynder
03. august 2005 - 15:52 #4
hemberg << man behøver igen action hvis en script ligger i samme file.
Avatar billede hemberg Forsker
03. august 2005 - 16:07 #5
Ok....Men så blev jeg da også lidt klogere idag....HA::HA. Og ganske gratis uden at skulle aflevere point...
Avatar billede erikjacobsen Ekspert
03. august 2005 - 18:37 #6
Jeg samler slet ikke på point, tak. Men du har et problem hvis brugeren trykker retur i text-feltet - ikke?
Avatar billede nielle Nybegynder
03. august 2005 - 20:34 #7
Når du submitter, så bliver der ikke sendt noget svarende til:

request.form("submit")

- og det er årsagen til at din If-Then ikke bliver udført.

Løsningen er at spørge på noget som *bliver* sendt - f.eks. dit id-felt:

<%
if request.form("id") <> "" then
    response.write "Det virker"
end if
%>

<form name="myform" method="post">
<input type="hidden" name="id" value="<%= request.QueryString("id")%>">
<table border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>Din email:</td>
    <td> </td>
    <td>Gentag din email:</td>
  </tr>
  <tr>
    <td><input type="text" name="email" size="25"></td>
    <td><img src="images/pix.gif" width="20"></td>
    <td><input type="text" name="repeatemail" size="25"></td>
  </tr>
</table>
<br>
<input type="radio" name="valg" value="Tilmeld" CHECKED> Tilmeld nyhedsmail
<br>
<input type="radio" name="valg" value="frameld"> Frameld nyhedsmail         
<br><br>
<input type="submit" value="ok">
</form>

Hvis der ikke er en oplagt kandidat til et sådant felt, så kan man altid inkludere et hidden-felt til netop dette formål.
Avatar billede nielle Nybegynder
03. august 2005 - 20:35 #8
Hvis du vil se hvad der bliver sendt, kan då altid klare dette med denne lille kodelinje:

Response.Write "Alle: " & Request.Form
Avatar billede mbm Nybegynder
03. august 2005 - 21:06 #9
erikjacobsen << nej der ser ikke ud til at være noget problem. HVis du ikke vil have points så snupper jeg dem selv, jeg får nok også brug for dem :-)

nielle << nej, der er ikke behov for at sende en sådan værdi med da if request.form("submit") <> "" then går jobbet.

Jeg skal klart nok have lagt en masse script på som laver en kontrol af de værdier som brugeren har indtastet.
Avatar billede nielle Nybegynder
03. august 2005 - 21:16 #10
A'hva?

Jeg har ikke set 'if request.form("submit") <> "" then' virke på noget tidspunkt, og det syntes da heller ikke at have virket for dig ifølge dit spørgsmål. Så hvordan kan det så være at den virker nu lige pludselig?
Avatar billede erikjacobsen Ekspert
03. august 2005 - 21:19 #11
Det ku' jo være han prøvede min rettelse.
Avatar billede nielle Nybegynder
03. august 2005 - 21:31 #12
Det kunne nemlig være det - uden et navn på knappen kommer der nemlig ikke noget.
Avatar billede erikjacobsen Ekspert
03. august 2005 - 21:32 #13
Selv om den så stadig ikke virker hvis man bare trykker retur i input-feltet...
Avatar billede nielle Nybegynder
03. august 2005 - 21:38 #14
Det virker da ellers pænt nok hvis jeg prøver det?
Avatar billede erikjacobsen Ekspert
03. august 2005 - 21:41 #15
Næppe ;)
Avatar billede erikjacobsen Ekspert
03. august 2005 - 21:42 #16
...altså hvis spørgeren kun laver min rettelse, forstås...
Avatar billede nielle Nybegynder
03. august 2005 - 21:48 #17
Min kode:

<%
Response.Write "All: " & Request.Form
%>

<form name="myform" method="post">
<input type="hidden" name="id" value="<%= request.QueryString("id") %>">
<table border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>Din email:</td>
    <td> </td>
    <td>Gentag din email:</td>
  </tr>
  <tr>
    <td><input type="text" name="email" size="25"></td>
    <td><img src="images/pix.gif" width="20"></td>
    <td><input type="text" name="repeatemail" size="25"></td>
  </tr>
</table>
<br>
<input type="radio" name="valg" value="Tilmeld" CHECKED> Tilmeld nyhedsmail
<br>
<input type="radio" name="valg" value="frameld"> Frameld nyhedsmail         
<br><br>
<input type="submit" value="ok" name="submitKnap">
</form>

Min side:

http://www.frip.dk/nielle/e637114.asp

Uanset hvad jeg gør, så får jeg "submitKnap" med over når der postes.
Avatar billede erikjacobsen Ekspert
03. august 2005 - 21:54 #18
Jo, du har jo ret - er der mere end eet inputfelt, så kommer den første submitknaps navn med over. Jeg tænkte kun på eet input felt - sikkert fordi jeg ikke kan se ideen i at have to i sådan et tilfælde ;)
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
Kurser inden for grundlæggende programmering

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