Avatar billede george Nybegynder
26. februar 2001 - 14:10 Der er 13 kommentarer og
2 løsninger

Feltnavn med over på anden side

Normalt når man skal have et feltnavn med over på anden side bruger man følgende formular :

<form NAME=\"xxxx\" ACTION=\"yyy\">
<input type=\"text\" name=\"Postnr\" size=\"4\">
</form>

Så henter man den på næste side med Postnr = request.form(\"Postnr\").

Hvordan gør man hvis man hvis man vil have en variabel med over fra et felt som ligger uden for formen ( Eks. denne linje  ligger uden for formen : <input type=\"image\" SRC=\"../image/sog.gif\" BORDER=\"0\" WIDTH=\"53\" HEIGHT=\"18\" ALIGN=\"BOTTOM\" ALT=\"\" onClick=\"location=\'test.htm\'\">) ?

Har prøvet med Postnr = request(\"Postnr\"), men det virker ikke.

Nogen forslag ?
Avatar billede george Nybegynder
26. februar 2001 - 14:12 #1
Feltet som jeg ønsker indholdet af ligger i formen !
Avatar billede jakoba Nybegynder
26. februar 2001 - 14:18 #2
ifølge reglerne kan et felt slet ikke ligge udenfor en form.
så skriv <form ...> og </form> tags rundt om det andet felt også.

lige det felt du nævner duer nu under alle omstændingheder ikke for type=\'image\' betyder det er en submitknap og de har slet ikke nogen værdi.
Avatar billede george Nybegynder
26. februar 2001 - 15:38 #3
Jeg prøver lige at forklare det på en anden måde.

Jeg har en form der ser sådan ud :

<form NAME=\"kontakt\" ACTION=\"...mailto.exe\">
<input type=\"text\" name=\"Postnr\" size=\"4\">
o.s.v med submit og reset knapper
</form>

og en form der sådan ud i samme script.

<form NAME=\"bestil\" ACTION=\"../default.htm\">
<input type=\"image\" SRC=\"../image/sog.gif\" BORDER=\"0\" WIDTH=\"53\" HEIGHT=\"18\" ALIGN=\"BOTTOM\" ALT=\"\">
</form>

Siden skal virke på følgende måde:
Hvis jeg klikker på submit knappen sendes formularen som normalt via mail.

Hvis jeg klikke på billedeknappen sog.gif skal den springe over til default.htm og \"tage\" indholdet af feltet \"postnr\" med.

Kan det lade sig gøre og hvordan ?
Avatar billede jakoba Nybegynder
27. februar 2001 - 06:45 #4
Ja.
Lav et hidden felt i formen bestil:

<input type=\'hidden* name=\'ekstra_felt value=\"\">

i form taggen på bestil laver du en onsubmit= parameter:

<form NAME=\"bestil\" ACTION=\"../default.htm\" onsubmit=\"this.extra_felt.value=document.kontakt.Postnr.value;return true\">

husk at den javascript du skriver i onsubmit= skal returnere true, ellers bliver der ikke submittet (så fx en routine til at checke om formadata er lovlige kan returnere false hvis der mangler noget)

mvh JakobA
Avatar billede george Nybegynder
27. februar 2001 - 08:51 #5
Jeg har nu følgende kode i form.asp :
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">
<HTML>
<HEAD>
    <TITLE>[Ingen titel]</TITLE>
<META NAME=\"Generator\" CONTENT=\"Stone\'s WebWriter 3\">
<SCRIPT LANGUAGE=\"JavaScript\">
    window.onerror=null;
    function checkformular()
        { if (document.kontakt.Postnr.value==\"\" )
        {alert(\"Indtast venligst Postnr\");
            return(false);
        }
    }

</SCRIPT>

</HEAD>
<BODY>
    <form name=\"kontakt\" method=\"post\" ACTION=\"test200.asp\">
        <input type=\"text\" name=\"Postnr\" size=\"26\">
    </form>

<form NAME=\"bestil\" ACTION=\"test200.asp\" onsubmit=\"this.extra_felt.value=document.kontakt.Postnr.value; return(checkformular());\">
    <input type=\"hidden\" name=\"ekstra_felt\" value=\"\">
    <INPUT TYPE=\"image\" SRC=\"../image/sog.gif\" BORDER=\"0\" WIDTH=\"53\" HEIGHT=\"18\" ALIGN=\"BOTTOM\" ALT=\"\">
</form>

</BODY>
</HTML>

Og følgende kode i test200.asp :
<%
    Response.Write \"test200\" %><BR><%
    Test100 = request.form(\"ekstra_felt\")
    Response.Write(\"Test100= \" & test100)
%>

Kan du se hvad der er galt JakobA ?
Avatar billede george Nybegynder
27. februar 2001 - 09:52 #6
Jeg kan se at hvis check på felter skal virke skal nederste form se sådan ud :
<form NAME=\"bestil\" ACTION=\"test200.asp\" onsubmit=\"this.extra_felt.value=document.kontakt.Postnr.value;return(checkformular());\">
    <input type=\"hidden\" name=\"extra_felt\" value=\"\">
    <INPUT TYPE=\"image\" SRC=\"../image/sog.gif\" BORDER=\"0\" WIDTH=\"53\" HEIGHT=\"18\" ALIGN=\"BOTTOM\" ALT=\"\">
</form>

Men indholdet af feltet \"extra_felt\" kommer ikke med over ??
Avatar billede shaman Nybegynder
27. februar 2001 - 10:02 #7
Sådan her ville jeg gøre det idet værdien i det ekstra felt er det samme som det i postnr:

<BODY>
    <form name=\"kontakt\" method=\"post\" ACTION=\"test200.asp\" onsubmit=\"checkformular()\">
        <input type=\"text\" name=\"Postnr\" size=\"26\">
    <INPUT TYPE=\"image\" SRC=\"../image/sog.gif\" BORDER=\"0\" WIDTH=\"53\" HEIGHT=\"18\" ALIGN=\"BOTTOM\" ALT=\"\">
</form>

</BODY>
</HTML>

Og følgende kode i test200.asp :
<% Test100 = request.form(\"Postnr\") %>

Og så skrive det her hvor du skal bruge værdien i dokumentet:
<%= Test100 %>
Avatar billede george Nybegynder
27. februar 2001 - 10:08 #8
Jeg kan ike bruge den løsning shaman for jeg skal hente indholdet af feltet i \"postnr\" i øverste form og submiiter i anden form længere nede ( se længere oppe i tråden )
Avatar billede shaman Nybegynder
27. februar 2001 - 10:41 #9
Hvorfor? Det er tidligt, og jeg er ikke helt med =)
Avatar billede helle_fred Nybegynder
27. februar 2001 - 11:58 #10
En - godtnok lidt klumpet - måde at overføre værdien af en variabel på, er at putte dine sider ind i et rammesæt, hvor en af rammerne ingen bredde har; men bruges til at opbevare værdier af variabler. Den tomme ramme skal altså indeholde en side, hvor du i HEAD har et script, som initialiserer variablen postnr.

Når du bruger din billedknap, kan du give postnr i denne tomme ramme værdi ved at referere til det felt, det ligger i; og når du så er kommet over i default.htm, har du adgang til variablen via rammesættet.
Avatar billede george Nybegynder
27. februar 2001 - 12:08 #11
Til shaman

Du bruger jo kun en form, jeg har skitseret den tidligere med to, så jeg er ikke helt klar over hvad din tanke er med at vise mig den løsning.
Avatar billede george Nybegynder
27. februar 2001 - 12:10 #12
Til Helle fred

Tak for indslaget, men jeg er mere tændt på at vi kan JakobA\'s løsning til at virke.
Avatar billede shaman Nybegynder
27. februar 2001 - 12:55 #13
Min tanke er at der reelt set ikke burde være behov for to... Da du alligevel laver det i ASP kunne du jo bare sende værdien over i et andet dokument der alt efter hvad for en form, eller hvad for et field nærmere sender skidtet videre til den rette side...
Ellers sidder jeg lige og leger med en javascript funktion som detecter hvad for en af de to der skal submittes... Ved ikke om den kommer til at virke dog =)
Avatar billede george Nybegynder
01. marts 2001 - 17:15 #14
YES YES YES YES YES YES YES YES YES YES YES YES

Fandt selv ud af hvad problemet var :

Her kommer den rigtige kode for form.asp :

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">
<HTML>
<HEAD>
    <TITLE>[Ingen titel]</TITLE>
<META NAME=\"Generator\" CONTENT=\"Stone\'s WebWriter 3\">
<SCRIPT LANGUAGE=\"JavaScript\">
    window.onerror=null;
    function checkformular()
        { if (document.kontakt.Postnr.value==\"\" )
        {alert(\"Indtast venligst Postnr\");
            return(false);
        }
    }

</SCRIPT>
</HEAD>
<BODY>
    <form name=\"kontakt\" method=\"post\" ACTION=\"t1.asp\">
        <input type=\"text\" name=\"Postnr\" size=\"26\">
    </form>

        <form NAME=\"bestil\" method=\"post\" ACTION=\"t2.asp\" onsubmit=\"this.extra_felt.value=document.kontakt.Postnr.value;return(checkformular());\"> 
        <input type=\"hidden\" name=\"extra_felt\" value=\"\">
            <INPUT TYPE=\"image\" SRC=\"../image/sog.gif\" BORDER=\"0\" WIDTH=\"53\" HEIGHT=\"18\" ALIGN=\"BOTTOM\" ALT=\"\">
        </form> 
</BODY>
</HTML>

og koden for t2.asp :
<%
    tmp = request.form(\"extra_felt\")
    Response.Write(\"tmp= \" & tmp)
%>

Puha den var sej.

Tak for alle indslag

Avatar billede george Nybegynder
01. marts 2001 - 17:18 #15
Skal lige gøre opmærksom på hvad fejlen var :

Jeg/vi havde \"glemt\" method=\"post\" i nr. 2 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