Avatar billede webbe Nybegynder
22. januar 2004 - 08:34 Der er 7 kommentarer og
1 løsning

Form med button fanger ikke indtastede værdi

Hej eksperter

Jeg har en form (tilmelding til et nyhedsbrev), hvor jeg bruger en button med en onclick handler, der åbner et nyt vindue hvori der ligger et script der smider den indtastede e-mail i en tabel.

Mit problem er at scriptet der smider det i tabellen ikke fanger den indtastede værdi.

Min formular ser således ud:

<form method="post" action="" name="form1">
        Indtast din e-mail og tilmeld dig nyhedsbrevet og få tilsendt nyheder.
        <input type="text" name="email" class="boxli"><br>
        <input type="button" name="OKMAIL" class="knapbl" value="Tilmeld" onClick="java script:window.openPopUp('mailadd.asp',10,10);">
    </form>

og mit asp-script ser således ud:

<!-- #include file="include/db.inc" -->
<%
sql = "INSERT INTO Mailingliste (Email) VALUES ("&"'"&request.form("email")&"')"
Conn.Execute(sql)
%>
<script language="JavaScript">
<!--
    alert("Du er nu blevet tilføjet mailinglisten")
    window.opener.form1.submit();
    window.close();
//-->
</script>

Nogen der kan hjælpe mig?
Avatar billede madschristensen Nybegynder
22. januar 2004 - 08:49 #1
Din form skal sende data...
<form mothod="post" action="mailadd.asp" name="form1">
Din input skal være submit...
<input type="submit" name="OKMAIL".....
Avatar billede webbe Nybegynder
22. januar 2004 - 09:01 #2
mads:

Er godt klar over at det er normalen - men prøv lige at kigge nærmere på min form - den skal åbne i en popup - det er det der er det tricky i det.
Avatar billede eagleeye Praktikant
22. januar 2004 - 09:16 #3
Når du åbner mailadd.asp så smider den en post i databasen og en vil være tom fordi der ikke er sent data..

Du skal lave ASP koden på den side som du post'er til det vil sige den side som står i action delen i form tagen...
Når du skriver action="" vil det være samme fil som formen ligger på så du skal laves ASP koden der sådan her:

<% if Request.servervariables("REQUEST_METHOD") = "POST" then %>
  <!-- #include file="include/db.inc" -->
<%
  sql = "INSERT INTO Mailingliste (Email) VALUES ("&"'"&request.form("email")&"')"
  Conn.Execute(sql)
End if
%>
Avatar billede madschristensen Nybegynder
22. januar 2004 - 09:18 #4
Java Funktion:
<script language="JavaScript">
function mailadd()
{
adr='mailadd.asp?adr=' + document.forms[0].email.value;
window.openPopUp(adr,10,10);"
}
</Script>
input:
<input type="button" name="OKMAIL" class="knapbl" value="Tilmeld" onClick="mailadd();">

Så laver du din asp fil om til request.querystring(adr)
Avatar billede webbe Nybegynder
22. januar 2004 - 09:34 #5
mads:

Vil godt anvende din løsning da der er mindst tilretning med den - men når jeg klikker på knappen får en fejl om at objektet ikke understøtter denne egenskab eller metode - hele den fil jeg inkluderer med formularen ser sådan ud:

<script language="JavaScript">
function mailadd(){
    adr='mailadd.asp?adr=' + document.forms[0].email.value;
    window.openPopUp(adr,10,10);
}
</Script>
<font size="1">
    <form method="post" action="" name="form1">
        Indtast din e-mail og tilmeld dig nyhedsbrevet og få tilsendt nyheder.
        <input type="text" name="email" class="boxli"><br>
        <input type="button" name="OKMAIL" class="knapbl" value="Tilmeld" onClick="mailadd();">
    </form>
</font>
Avatar billede webbe Nybegynder
22. januar 2004 - 09:37 #6
Aaaaah - var fordi jeg havde fået fjernet scriptet der åbner popupen - sorry.
Avatar billede webbe Nybegynder
22. januar 2004 - 09:46 #7
mads:

Har fået din løsning til at fungere - og den fungerer perfekt.

Pointene er dine - og tak for hjælpen.
Avatar billede madschristensen Nybegynder
22. januar 2004 - 09:51 #8
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
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