23. juli 2002 - 17:16Der er
27 kommentarer og 2 løsninger
Hvordan afvikles et JavaScript i en ASP sendmail?!
Hejsa.. Jeg skal fra en form sende en mail via ASP.. et JavaScript udskriver oplysninger, som skal sendes med mailen.. : <SCRIPT LANGUAGE="JavaScript"> parent.vareTekst(document,"tekstIndhold"); </SCRIPT> Hvordan gøres det?!
på siden før email kan du istedet ligge dine informationer i et hidden form felt og så submite formen og på email siden hente det igen (og sende det med i mailen)
ASP og PHP er server-side script, som afvikles på serveren, inden siden sendes ud til klientens browser.
JavaScript er client-side script, der kan afvikles af browseren, når brugeren laver forskellige ting på din side (mouseover osv.)
Hvis du vil udfylde en form og sende den som HTML-dokument via en mail. Kan du sende JavaScriptet med og det vil så blive kørt fx når brugeren åbner HTML-filen.
Hvis du vil have JavaScript til at generere teksten der skal sendes med mailen, kan du smide den tekst i en hidden-felt og submitte formen derefter.
hvis du har denne form / side <form name="formen" action="side2.asp" method="post"> <INPUT TYPE="hidden" VALUE="" NAME="titelIndhold"> <input type="submit" value="send email" > </form> <SCRIPT LANGUAGE="JavaScript"> document.formen.titelIndhold.value = parent.vareTekst(document,"tekstIndhold"); </SCRIPT>
og så på side 2 tekst = Request.Form("titelIndhold") så har du indholdet :)
<SCRIPT LANGUAGE="JavaScript"> document.formen.titelIndhold.value = parent.vareTekst(document,"tekstIndhold"); </SCRIPT> burde da putte værdien ind når det er blevet læst ind..????? (eller kan du forklare hvorfor det IKKE kommer ind i hidden feltet?)
din form skal have det rigtige navn... her er det "formen" <form name="formen" action="side2.asp" method="post">
hvis du har kaldt din form for "mailform" skal du ændre javaskriftet til <SCRIPT LANGUAGE="JavaScript"> document.mailform.titelIndhold.value = parent.vareTekst(document,"tekstIndhold"); </SCRIPT> ;)
a1 >> hvis nu mailen dannes ud fra indtastninger i andre felter (fx navn), så er det jo vigtigt at det er du sidst indtastede data, der kommer med. Derfor vil jeg gerne have functionen til at køre lige inden formen submittes
diddi >> sorry jeg først er tilbage nu (var ikke hjemme igår). Det er som rigtigt hvad a1 siger mht til navngivning.
..og du har ikke så meget at bruge et hiddenfelt til, når formen er blevet submittet. Du skal jo ha' sendt din mail, og den bliver sendt inden hiddenfeltet er tilgængeligt.
Mailen skal nemlig sendes serverside - dvs fra serveren, der laver dine sider. Så hiddenfeltet skal du kun have, hvis du påtænker at genbruge mailteksten senere.
det er korrekt. JavaScript bør altid placeres i headeren. I praksis er det dog ligemeget, men for god ordens skyld, så saml det der - så er det nemmere at læse koden senere.
Du skal desuden have fjernet din "onsubmit" fra formen og lagt den op i doSubmit-functionen. Fx således:
<script language="javascript"> function doSubmit() { if(confirm('Klik ok for at sende bestillingen!')) { document.mailform.mailtxt.value = parent.vareTekst(document,"tekstIndhold"); document.mailform.submit(); } } </script>
<script language="javascript"> function doSubmit() { if(confirm('Klik ok for at sende bestillingen!')) { document.mailform.mailtxt.value = parent.vareTekst(document,"tekstIndhold"); document.mailform.submit(); } } </script>
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.