Avatar billede lsskaarup Nybegynder
10. juni 2005 - 10:18 Der er 47 kommentarer og
1 løsning

få mailto til at virke i function

Jeg har et input felt, som når der klikkes der på, skal komme med mailto functionen. Altså den som henter send mail dialog boksen fra f.eks Outlook. Men jeg synes ikke rigtigt jeg kan få en til at komme frem.

Det sker fra dette inputfelt:
<?php echo '<input onclick="send(this)" type="checkbox" name="r573" value="1" '. $checked .'>';?>

funktionen som kaldes ved onclick()
function send(frmObj){
    //alert("sf");
    frmObj.action="mailto:modtager?subject=emne&body=body";
        return true;
}
Jeg har prøvet at alert() mailto, og så viser den det godt nok, men hvorfor får jeg ikke dialogboksen op, hvis jeg ikke har alert på.
Avatar billede lsskaarup Nybegynder
10. juni 2005 - 10:26 #1
Men input felt mente jeg checkbox men det kan I jo nok se
Avatar billede rhjjhj Nybegynder
10. juni 2005 - 10:36 #2
Kunne man forestille sig at din browser ikke er klar over hvilken mailklient der er til rådighed (manglende association)? Måske virker det på en anden computer?
Avatar billede lsskaarup Nybegynder
10. juni 2005 - 11:12 #3
Nej, det virker heller ikke på en anden maskine, så det må være koden, som der er noget galt med
Avatar billede lsskaarup Nybegynder
10. juni 2005 - 11:40 #4
Og sætter jeg den normale mail-kode ind, <a href=... så virker det godt nok.
Avatar billede roenving Novice
10. juni 2005 - 13:33 #5
<?php echo '<input onclick="send(this.form)" type="checkbox" name="r573" value="1" '. $checked .'>';?>

function send(frmObj){
    //alert("sf");
    frmObj.action="mailto:modtager?subject=emne&body=body";
    frmObj.submit();
}
Avatar billede lsskaarup Nybegynder
10. juni 2005 - 14:13 #6
Jaaa, roenvings forslag virker tildels. Det virker, godt nok kommer der en besked, om at det kunne være en virus. Men jeg vil gerne have mail-dialogboksen frem, som kommer ved <a href=...... </a>

Kan det ikke lade sig gøre, på andre måder end med <a href ?
Avatar billede lsskaarup Nybegynder
10. juni 2005 - 14:16 #7
Især af den grund, at det så er muligt for brugeren at tilpasse mailen, ud over standard opsætningen, hvis dette skulle være nødvendigt.
Avatar billede roenving Novice
11. juni 2005 - 09:51 #8
?-)

<?php echo '<input onclick="if(this.checked)location.href=\'mailto:modtager?subject=emne&body=body\'" type="checkbox" name="r573" value="1" '. $checked .'>';?>
Avatar billede lsskaarup Nybegynder
13. juni 2005 - 08:35 #9
Yes, så virker det, jeg har godt nok fjernet tjekket for om den er sat, for fjernes fluebenet så kan de også sende en mail ud automatisk på den måde.

Jeg skal dog også have det til at virke på en knap, med der synes jeg ikke location.... virker.

<input type="button" name="submit1" class="submit" value="Til produktion" style="width: 100px;" onClick="launchMPSudtræk();">
Avatar billede lsskaarup Nybegynder
13. juni 2005 - 10:21 #10
Det skal måske lige siges, at funktionen launchMPSudtræk() bruges til at trække data ud i en csv-fil, som Navision kan bruge.
Avatar billede lsskaarup Nybegynder
13. juni 2005 - 12:24 #11
Og endnu en udvidelse, hvis jeg gerne vil have php variabler ind i mail stumpen, f.eks. mailto:<\?php echo $EMAIL[statik][email];\?>, hvordan gør jeg så ? ikke opfattes som et stoptegn. Som det kan ses har jeg prøvet at escape, men modtageradressen bliver bare "<"?
Avatar billede roenving Novice
14. juni 2005 - 12:42 #12
Hvis du ikke escaper bliver den php-variabel vel bare indsat ?-)

-- og du har et funktionsnavn med et 'æ' i, det kan absolut ikke anbefales, selvom visse browsere vist er ligeglade !-)
Avatar billede lsskaarup Nybegynder
16. juni 2005 - 08:13 #13
Nej, det gør faktisk ingen forskel.
Avatar billede lsskaarup Nybegynder
16. juni 2005 - 08:16 #14
Altså om jeg escaper eller ej. Lige nu ser kodestumpen sådan ud:
echo '<input onclick="ds.r542a.value=this.checked ? \''.date('d-m-Y').'\' : \'\';location.href=\'mailto:<?php echo $EMAIL[statik][email];?>?subject=emne&body=body\'" type="checkbox" name="r542" value="1" '. $checked .'>';?>

Problemet må jo være, at browseren tror, at efter det første ?, så kommer der en betegnelse f.eks. subject, når der så ikke gør det, får jeg de forkert værdier.
Avatar billede roenving Novice
16. juni 2005 - 10:56 #15
-- men når du nu konkatenerer ellers, kan du vel også gøre det med email-variablen ?-)

echo '<input onclick="ds.r542a.value=(this.checked ? \''.date('d-m-Y').'\' : \'\');location.href=\'mailto:'.$EMAIL[statik][email].'?subject=emne&body=body\'" type="checkbox" name="r542" value="1" '. $checked .'>';

-- og hov !-)

Når du bruger den ternære operator har den en tendens til at virke for good, så resten af kodelinjens udførelse afhænger af den, så hele det udtryk ville jeg sætte i en parantes !o]
Avatar billede lsskaarup Nybegynder
16. juni 2005 - 15:07 #16
Det var sgu nogle fine ord du brugte der, konkatenerer og ternære. Hvad betyder det? Det skal måske her lige siges, at oprindeligt er kode ikke lavet af mig, jeg har bare tilføjet onclick() funktionen.

Men jeg prøver lige din løsning.
Avatar billede lsskaarup Nybegynder
16. juni 2005 - 15:13 #17
Okay læste mig selv til at den ternære operator er ?, men hvor vil du så have paranteserne?

Jeg har nu lavet linien, så den ligner din, men så kommer der slet ikke noget i modtagerfeltet.
Avatar billede roenving Novice
16. juni 2005 - 15:14 #18
Konkatenere betyder at sætte en streng sammen med en anden altså f.eks. "ab" . "cd" ...

-- og den ternære operator er det shortcut for en if-sætning, du bruger:

betingelse?resultat hvis sand:resultat hvis falsk; !-)
Avatar billede roenving Novice
16. juni 2005 - 15:15 #19
Hvordan ser linjen så ud, når du ser den i browseren (Vis kilde ... !-)
Avatar billede lsskaarup Nybegynder
16. juni 2005 - 15:25 #20
Når jeg har konkateret php-variablen ser kilden sådan ud:

<input onclick="ds.r542a.value=(this.checked ? '16-06-2005' : '');location.href='mailto:?subject=emne&body=body'" type="checkbox" name="r542" value="1" >

Altså den får slet ikke skrevet nogen afsender.
Avatar billede lsskaarup Nybegynder
16. juni 2005 - 15:27 #21
Og hvis jeg har det som oprindeligt, bort set fra paranserne.

<input onclick="ds.r542a.value=(this.checked ? '16-06-2005' : '');location.href='mailto:<?php echo $EMAIL[statik][email];?>?subject=emne&body=body'" type="checkbox" name="r542" value="1" >

Men her skriver den altså kun "<" i modtager
Avatar billede roenving Novice
16. juni 2005 - 15:28 #22
Er du sikker på, at $EMAIL[statik][email] indeholder noget ?-)
Avatar billede lsskaarup Nybegynder
17. juni 2005 - 08:56 #23
FUUUUUUUUCK... Du havde fuldstændig ret med din sidste kommentar. Jeg havde ellers tjekket flere gange, men må have overset fejlen har gang. Under oprettelsen af $EMAIL[][], er jeg kommet til at navnet give betegnelserne med stort, så den skal se sådanne ud, $EMAIL[Statik][email]. Nu virker det også med modtageren, når der konkateres.

Tak for hjælpen, og smid et svar.
Avatar billede lsskaarup Nybegynder
17. juni 2005 - 09:03 #24
Hov lige inden jeg lukker det helt, jeg døjer også lidt med en knap (button), jeg skal have til at gøre det samme, men jeg synes ikke jeg kan få onclick til at fange location href... any ideas?

<input type="button" name="submit1" class="submit" value="Til produktion" style="width: 100px;" onclick="location.href=mailto:<?php echo $EMAIL[Statik][email];?>?subject=emne&body=body"><!--send(this.form)"> --><!--onClick="launchMPSudtræk()">-->

Kalder jeg send funktionen, så virker det næsten. Men Windows, kommer med en popup om at man skal tillade programmet adgang til Outlook, og det skal det ikke gøre.
Avatar billede lsskaarup Nybegynder
17. juni 2005 - 09:07 #25
Na, bare glem det sidste spørgsmål, jeg har glemt at sætte ' ' uden om mailto...
Avatar billede lsskaarup Nybegynder
17. juni 2005 - 11:03 #26
Øh, jeg kan se, at den ikke er så glad for linieskift i besked-området. Hvad kan jeg gøre, for at det er lige meget. Grunden hertil, er at brugerne kan ændre standard-beskeden som sendes med, og den skrives i et textarea, og gemmes rent i en fil. Skal jeg gøre noget når jeg gemmer eller når jeg hiver data ind?
Avatar billede roenving Novice
17. juni 2005 - 11:29 #27
Escape tingen:

body=escape(document.formnavn.texareanavn.value);

-- og velbekomme '-)
Avatar billede lsskaarup Nybegynder
17. juni 2005 - 13:01 #28
Tror du det virker? Body'en bliver hentet på samme måde som modtager og emne, altså det ligger også i en fil.
Avatar billede roenving Novice
17. juni 2005 - 13:07 #29
Hvis du escaper en tekststreng med linjeskift i, skulle den erstatte dem med %0D%0A, men det kan så ikke være en javascript-variabel, så du skal nok lave det før den kommer ind i din onclick !-)
Avatar billede lsskaarup Nybegynder
21. juni 2005 - 15:58 #30
Det sidste forstod jeg ikke helt. Hvis jeg escaper før, så bliver linieskift erstattet med %0D%0A, sætter jeg så den ind i javascriptet, så har jeg da stadigvæk det samme problem, eller hvad?
Avatar billede lsskaarup Nybegynder
21. juni 2005 - 16:01 #31
Mit mål var sådan noget her:

<input type="button" name="submit1" class="submit" value="Til produktion" style="width: 100px;" onclick="launchMPSudtræk();location.href='mailto:<?php echo $EMAIL[Produktion][email];?>?subject=<?php echo $EMAIL[Produktion][emne];?>&body=<?php echo $EMAIL[Produktion][besked];?>'">

Der er altså kun body problemet er ved, da den jo også er den eneste på flere linier
Avatar billede roenving Novice
23. juni 2005 - 10:57 #32
<input type="button" name="submit1" class="submit" value="Til produktion" style="width: 100px;" onclick="launchMPSudtræk();location.href='mailto:<?php echo $EMAIL[Produktion][email];?>?subject=<?php echo $EMAIL[Produktion][emne];?>&body=' + escape(<?php echo $EMAIL[Produktion][besked];?>)">
Avatar billede lsskaarup Nybegynder
24. juni 2005 - 11:34 #33
Nej, det hjælper ikke, der sker ikke noget. Men nu fåer jeg også en lavascriptfejl, hvis jeg forlader siden og kommer ind på den igen.

Faktisk skulle fejlen være i den linie vi arbejder med, men den siger der forventede et ) omkring midten af launchMPSudtræk.
Avatar billede roenving Novice
24. juni 2005 - 15:21 #34
Måske:

+ escape('<?php echo $EMAIL[Produktion][besked];?>')">
Avatar billede lsskaarup Nybegynder
24. juni 2005 - 20:16 #35
Prøver på mandag
Avatar billede lsskaarup Nybegynder
28. juni 2005 - 09:03 #36
Ja, det ser ud til at virke i det tilfælde, hvor alle linieskift er \r\n og ikke en regulært linieskift i textarea, for har jeg ingen \r\n i den skrevne tekst, så sker der intet. Men jeg prøver lige at lege lidt videre med, da jeg også skal have det ind andre steder.
Avatar billede lsskaarup Nybegynder
01. juli 2005 - 14:25 #37
Jeg tror sgu, jeg er ved at stirre med blind på dette. Jeg skal bare have den sat ind i denne også, som det er nu, så skriver den decideret <?php ..... ?>

echo '<input onclick="ds.r542a.value=(this.checked ? \''.date('d-m-Y').'\' : \'\');location.href=\'mailto:'.$EMAIL[Statik][email].'?subject='.$EMAIL[Statik][emne].'&body=<?php echo $EMAIL[Produktion][besked];?>\'" type="checkbox" name="r542" value="1" '. $checked .'>';?>
Avatar billede roenving Novice
02. juli 2005 - 11:22 #38
echo '<input onclick="ds.r542a.value=(this.checked ? \''.date('d-m-Y').'\' : \'\');location.href=\'mailto:'.$EMAIL[Statik][email].'?subject='.$EMAIL[Statik][emne].'&body=\''.$EMAIL[Produktion][besked].'\'" type="checkbox" name="r542" value="1" '. $checked .'>';?>
Avatar billede lsskaarup Nybegynder
04. juli 2005 - 08:24 #39
Nu udfører det slet ikke noget af javascriptet...??
Avatar billede lsskaarup Nybegynder
04. juli 2005 - 08:30 #40
Nu har jeg tilpasset den lidt, men den laver ikke linieskift selvom der i kildekoden står \r\n

echo '<input onclick="ds.r542a.value=(this.checked ? \''.date('d-m-Y').'\' : \'\');location.href=\'mailto:'.$EMAIL[Statik][email].'?subject='.$EMAIL[Statik][emne].'&body='.$EMAIL[Statik][besked].'\'" type="checkbox" name="r542" value="1" '. $checked .'>';?>
Avatar billede lsskaarup Nybegynder
06. juli 2005 - 09:55 #41
Hvsi det er lettere, så kan den godt pilles ud af php'en, så den ikke skal echos
Avatar billede lsskaarup Nybegynder
11. juli 2005 - 08:53 #42
roenving -> kan du lige hjælpe mig det sidste stykker??
Avatar billede lsskaarup Nybegynder
17. august 2005 - 09:35 #43
Hallo
Avatar billede roenving Novice
17. august 2005 - 12:39 #44
-- det eneste jeg kan prøve at gætte er 24/06-2005 15:21:11 !-)
Avatar billede lsskaarup Nybegynder
17. august 2005 - 17:30 #45
Okay
Avatar billede lsskaarup Nybegynder
07. september 2005 - 10:25 #46
Hov dette skal vist lukkes.
Avatar billede roenving Novice
07. september 2005 - 10:27 #47
Tak for point ;~}
Avatar billede lsskaarup Nybegynder
09. september 2005 - 16:31 #48
Velbekomme
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