envoi formulaire par mail .NET 2.0

envoi formulaire par mail .NET 2.0 - C#/.NET managed - Programmation

Marsh Posté le 23-07-2008 à 21:32:04    

Bjr a tous, j'ai un petit souci dans l'envoi d'un formulaire par mail.
en fait j'ai creer un formulaire ou lorsque vous cliquer sur le bouton(type button) "envoyer" pr son envoi, une fenetre popup
s'ouvre pr vous prevenir que votre messagerie va etre utiliser et  c'est dans cette popup que figure le boutton de type submit charger de l'envoi par mail.
(a noter que lorsque je n passe pas par la popup et donc le boutton envoyer sur le formulaire est de type submit, et dans action un mailto+mon adresse email, tout marche nickel, j'utilise la popup ici juste pour m'autoformer sur les popups et voir comment sa marche)
revenons en au pb,  
1-lorsque j'execute le code ci dessous avec notepad++(avec bien sur, la balise head sans runat="server" ). ma popup s'ouvre bien, et lorque je clik sur le button submit, mon outlook s'ouvre bien,  
mais le body ne contient que("envoyer=envoyer" ) il n contient pas le contenu des champs pourtant je recupere le contenu de ces champs dans mon code javascript ou figure ce boutton.
2-lorsque j'execute le code ci dessous en aspx, avec le pageload de mon fichier aspx.net vide(ceci n'etant pas un pb), ma popup ne s'ouvre meme pas. rien ne se passe au clik du boutton envoyer.
Je travaille sous visual studio2005.
merci de votre aide
 
 
 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 
<head runat="server">
 
<script type="text/javascript">
var fois=0;
boutrep = new Array();
function fradio(bouton,reponse)
{
boutrep[bouton]=reponse;
}
function fonct_form(form)  
{
resultat="<html>\n<title>Mail-formulaire</title>\n<head>\n</head>\n<body>\n<p align=\"center\">Votre programme de messagerie va etre utilisee</p>";
 
monbody="de "+form.NOM.value+" "+form.PRENOM.value+" "+form.AGE.value+" "+form.MAIL.value+" "+form.PSEUDO.value+" "+form.PASSWORD.value+"  Visite : "+boutrep[1]+" Avis : "+boutrep[2]+"";
 
resultat +="<form action=\"mailto:monadresse@mondomaine.com?subject=Formulaire&body="+monbody+"\" name=\"envoi\" method=\"POST\" >\n";
resultat +="<p align=\"center\"><input type=\"submit\" value=\"Envoyer\" name=\"Envoyer\"></p></form>";
 
 
resultat +="\n</body>\n</html>";
if (fois == 1 ) result.close();
result=window.open("","resultat","toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=1, resizable=1, top=1, left=50, width=500, height=200" );
result.document.write(resultat);
result.document.write('<p align="center" ><a href="javascript:window.close();">Fermer cette fenêtre</a></p>');
fois=1;
}
</script>
 
</head>
 
 
 
<body>
    <form action="" name="envoi" method="POST" enctype="text/plain">
        <table border="0">
            <tr>
                <td>
                    <b>Nom : </b>
                    <input name="NOM" size="50" maxlength="50"><br>
                    <b>Prenom : </b>
                    <input name="PRENOM" size="50" maxlength="50"><br>
                    <b>Age : </b>
                    <input name="AGE" size="50" maxlength="50"><br>
                    <b>Adresse E-m@il : </b>
                    <input name="MAIL" size="50" maxlength="50"><br>
                    <b>Pseudo : </b>
                    <input name="PSEUDO" size="50" maxlength="50"><br>
                    <b>Mot de passe : </b>
                    <input name="PASSWORD" size="50" maxlength="50"><br>
                </td>
            </tr>
        </table>
        <br>
        Allez vous beaucoup sur ASP-PHP.net? (par semaine)
        <input type="radio" name="visite" value="+ de 10H" onclick="fradio(1,this.value)">
        Plus de 10H - &nbsp;
        <input type="radio" name="visite" value="De 5 a 10H" onclick="fradio(1,this.value)">
        De 5 à 10H - &nbsp;
        <input type="radio" name="visite" value="- de 5" onclick="fradio(1,this.value)">
        Moins de 5 H<br>
        <br>
        Votre avis sur le site
        <input type="radio" name="avis" value="tres bien" onclick="fradio(2,this.value)">
        Tr&egrave;s Bien - &nbsp;
        <input type="radio" name="avis" value="bien" onclick="fradio(2,this.value)">
        Bien - &nbsp;
        <input type="radio" name="avis" value="moyen" onclick="fradio(2,this.value)">
        Moyen - &nbsp;
        <input type="radio" name="avis" value="Pas bien" onclick="fradio(2,this.value)">
        Pas bien<br>
        <input type="button" onclick="javascript:fonct_form(this.form);" value="Envoyer" name="Envoyer">&nbsp;
        <input type="reset" name="Submit" value="Effacer">
    </form>
</body>
</html>


Message édité par laone le 23-07-2008 à 21:41:22

---------------
If you want something done right, do it yourself
Reply

Marsh Posté le 23-07-2008 à 21:32:04   

Reply

Marsh Posté le 24-07-2008 à 13:38:11    

1/ le runat, justement, il faut pas mettre server.
2/ j'ai jamais vu un JS aussi pourri de ma vie :o même moi j'arrive pas à écrire des trucs pareil :o


Message édité par MagicBuzz le 24-07-2008 à 13:38:26
Reply

Marsh Posté le 24-07-2008 à 15:08:24    

Slt MagicBuzz
Merci d t pencher sur mon pb,
Ta proposition 1/ m'aide pas beaucoup car justement je l'avais aussi enlever dans mon code (apres avoir poster le message precedent), mais rien n'y fait ca marche pas.
Ta proposition 2/ encore moins, car je ne vois pas en koi il est pourri, si tu pouvais etre precis, car g vois pas comment j'allais creer ma popup en JS.
et petite precision ce code JS+html  marche sur notepad++ jusko moment de l'envoi du message, le pb c'est au nivo de la recuperation des valeurs saisies, et en .Net sai otre chose rien n marche coe g lai expliker ci haut.
Merci encore


Message édité par laone le 24-07-2008 à 15:26:11

---------------
If you want something done right, do it yourself
Reply

Marsh Posté le 24-07-2008 à 16:26:56    

il est principalement illisible ton code, et le document.write une fois la balise <html> fermée c'est mal.
 
mais bon, ça c'est du détail, c'est pas ça qui empêche de marcher.
 
si t'as bien shooté le runat="server", alors dis-en plus sur les erreurs que tu obtiens, parceque là y'a rien de spécial.

Reply

Marsh Posté le 24-07-2008 à 19:41:38    

en fait Magicbuzz, le message est vide sous notepad car je cree un bouton submit dans mapopup, or les input sont dans le formulaire , du coup g n recupere rien, apres le click sur ce boutton. j'ai donc remplace le boutton de type submit par un lien ou dans href, je met mailto en donnant a la valeur body les valeurs recuperer dans le formulaire. sous .Net, rien ne se passait car il n tolere pas ds javascript lacces au donnee du formulaire coe je lai fait, mais plutot coe sa document.forms["nom de la form"].elements["nom du champ"].value.
 
tout marche nickel, sinon pourrais tu me dire comment appeler mailto dans l'evenement onclick d'un boutton de typt "button", car ici j'ai utilise un lien.

Message cité 1 fois
Message édité par laone le 24-07-2008 à 22:14:00

---------------
If you want something done right, do it yourself
Reply

Marsh Posté le 24-07-2008 à 20:30:41    

document.location.navigate("mailto:..." ); à priori, ou un truc du genre


Message édité par MagicBuzz le 24-07-2008 à 20:30:55
Reply

Marsh Posté le 24-07-2008 à 23:08:38    

en fait c'est window.location, mais j'ai un souci avec les quotes:
 
monbody=document.forms["form1"].elements["NOM"].value;
resultat ="<p align=\"center\"><input type=\"button\" value=\"Envoyer\" name=\"Envoyer\"  
onclick=\"window.location = 'mailto:monadresse@mondomaine.com?body= "+monbody+" &subject=Formulaire'\"></p>";
si j'ecris juste monbody, il le prend comme le string"monbody"( normal)or mon pb sai k g ve recuperer la valeur de monbody.
j'ai tente qqes truc '+monbody+',monbody' ,rien ny fait ca marche pas.
j'ai essaye de mettre mailto entre double quote, alors la ca marche pa du tt (rien ne se passe o clik du boutton)mem si j'ecris juste monbody.  
 
Merci de vos reponses


Message édité par laone le 24-07-2008 à 23:18:45

---------------
If you want something done right, do it yourself
Reply

Marsh Posté le 24-07-2008 à 23:51:26    

"' + monbody + '"
 
c'est entre autres pour ça que je dis qu'il est pourri.
 
t'écrit proprement ta chaîne avec des {0} {1}, etc. là où tu dois mettre tes valeurs, et tu fais une série de replace ensuite. c'est bien plus lisible, ça évite les concaténation avec des quotes imbriquées que seul le cerveau qui a écrit le machin est capable de comprendre... quand il a déjà compris ce qu'il avait écrit


Message édité par MagicBuzz le 24-07-2008 à 23:52:19
Reply

Marsh Posté le 25-07-2008 à 14:30:21    

laone a écrit :

en fait Magicbuzz, le message est vide sous notepad car je cree un bouton submit dans mapopup, or les input sont dans le formulaire , du coup g n recupere rien, apres le click sur ce boutton. j'ai donc remplace le boutton de type submit par un lien ou dans href, je met mailto en donnant a la valeur body les valeurs recuperer dans le formulaire. sous .Net, rien ne se passait car il n tolere pas ds javascript lacces au donnee du formulaire coe je lai fait, mais plutot coe sa document.forms["nom de la form"].elements["nom du champ"].value.
 
tout marche nickel, sinon pourrais tu me dire comment appeler mailto dans l'evenement onclick d'un boutton de typt "button", car ici j'ai utilise un lien.


illisible. merci de réouvrir un topic dans un français correct.


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed