10. juni 2005 - 10:18Der 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å.
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?
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 ?
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 "<"?
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.
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]
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.
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.
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?
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.
Ø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?
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 !-)
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?
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.
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 ..... ?>
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.