Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Formulaire html/php chargé par Ajax [ JavaScript Orienté objet (POO) / Function & Méthodes ] (studiolapomme)

samedi 7 juin 2008 à 17:02:50 | Formulaire html/php chargé par Ajax

studiolapomme

Error convertoring HTML to XHTML: System.ArgumentException: The empty string '' is not a valid name. at System.Xml.XmlTextWriter.ValidateName(String name, Boolean NCName) at System.Xml.XmlTextWriter.InternalWriteProcessingInstruction(String name, String text) at System.Xml.XmlTextWriter.WriteProcessingInstruction(String name, String text) at System.Xml.XmlWriter.WriteNode(XmlReader reader, Boolean defattr) at FreeTextBoxControls.Support.Formatter.HtmlToXhtml(String input)

samedi 7 juin 2008 à 17:04:10 | Re : Formulaire html/php chargé par Ajax

studiolapomme

Bonjour,

J'ai un méga soucis avec un formulaire! Je m'explique:
J'ai un formulaire tout simple nom/mail/sujet/message
et je souhaite que lorsque je clique sur envoyer cela ne charge pas la page "verif.php" (ou se trouve mon code php pour l'envoi du mail) mais la charge au sein de la div qui contient le formulaire.
J'utilise donc Ajax pour réaliser ça... mais... ça marche pas. :/

Voici le code:

-page du formulaire:

// <h4>Formulaire en ligne:</h4>
// <div id="form">
// <form method="POST" onSubmit="load_form(this.?verif);return false;" id="formail">
// <input type=hidden name=subject value=formmail>
// <div class="text">
// <div>Nom: <input type="text" class="form" value="" name="nom"></div>
// <div>E-mail: <input type="text" class="form" value="" name="mail"></div>
// <div>Sujet: <input type="text" class="form" value="" name="titremessage"></div>
// <div>Message: <textarea rows="5" cols="25" class="textarea" name="mess"></textarea></div>
// <div>
// <a href="#form" onclick="document.getElementById('formail').reset()">Annuler</a>
// <a href="#" onclick="document.getElementById('formail').submit()">Envoyer</a>
// </div>
// </div>
// </form>
// </div>


-page verif.php

// <div>
// <?
// $headers="De: ".$nom;
// $message="Sujet: ".$titremessage." Message: ".$mess." De: ".$nom." (".$mail." )";
// mail("monmail@monsite.com",$titremessage,$message,$headers);
// echo ('Votre message a bien été envoyé');
// ?>
// </div>


_fonction ajax

// function load_form(select) {
// var xhr2 = new_xhr();//On crée un nouvel objet XMLHttpRequest
// xhr2.onreadystatechange = function(){
// if ( xhr2.readyState == 4 ){//Actions executées une fois le chargement fini
// if(xhr2.status  != 200){//Message si il se preoduit une erreur
// document.getElementById("form").innerHTML ="Erreur code " + xhr2.status;
// } else {//On met le contenu du fichier externe dans la div "main"
// var c= document.getElementById("form");
// c.innerHTML = xhr2.responseText;
//             var allscript = c.getElementsByTagName('script');
//             for(var i=0;i< allscript.length;i++){
//             eval(allscript[i].text);
//                }
// }
// } else {//Message affiché pendant le chargement
// document.getElementById("form").innerHTML = "Chargement en cours ...<br /><img src='./images/images/loading.gif' alt=''/>";
// }
// }
// xhr2.open("GET", select.split('?')[1]+".php", true);//Appel du fichier externe
// xhr2.send(null);
// }


Je planche dessus depuis trop de temps en ayant essayé trop de choses sans succès je commence à devenir sénile je crois!
Merci de votre aide!
Antho.

samedi 7 juin 2008 à 18:40:42 | Re : Formulaire html/php chargé par Ajax

bultez

Membre Club



Bonjour,

    que cherches tu as faire ?
    envoyer le formulaire vers le php ?
      
<h4>Formulaire en ligne:</h4>
<form method="POST" id="formail"
            action="verif.php" >
    <input type="hidden" name="subject" value="formmail" />
        Nom: <input type="text" class="form" value="" name="nom"><br />
        E-mail: <input type="text" class="form" value="" name="mail"><br />
        Sujet: <input type="text" class="form" value="" name="titremessage"><br />
        Message: <textarea rows="5" cols="25" class="textarea" name="mess"></textarea><br />
    <input type="reset" value="Annuler" />   
    <input type="submit" value="Envoyer" />
</form>

    verif.php reçoit et traite $_POST['subject'] $_POST['nom'] $_POST['mail']
             $_POST['titremessage'] $_POST['mess']

    rien d'autres !

    si tu veux contrôler des choses coté javascript


<script>
    function ctr()
    {   contrôles voulus
         return false pour ne pas envoyer le formulaire
         return true pour l'envoyer
</script>
<form method="POST" id="formail"
          onsubmit="return ctr();"
            action="verif.php" >




    ou alors tu veux utiliser ajax,
       et dans ce cas : pas de formulaire


                         pour la méthod post

       xhr2.open("POST","http://....verfi.php", true)
       les paramètres sont envoyés dans send("subject="+document.getElementById("formail").value+
                                                                   "&nom="+document.getElementById(id du champ).value+
                                                                    ....


       et dans l'open dans la method get
           xhr2.open("POST","http://....verfi.php/?subject="+document.getElementById("formail").value+....
                    , true);



                Cordialement            Bul         [mon Site]     [M'écrire]

samedi 7 juin 2008 à 18:54:21 | Re : Formulaire html/php chargé par Ajax

nicomilville

Membre Club
Salut,

Bonjour a toi bultez,

Je crois que ce qu'il veut et n'arrive pas a faire c'est charger le résulat de la page "verif.php" dans le div, sans recharger la page donc sans changer de page...

a++

Si la réponse vous convient, pensez : Réponse acceptée !


samedi 7 juin 2008 à 19:02:12 | Re : Formulaire html/php chargé par Ajax

studiolapomme

Wow! T'es plus calé que moi quand même hein! :)

En fait ce que je veux c'est ne jamais charger la page verif.php seule. Je veux l'inclure dans ma div id="form" sans rechargement total de ma page, facon ajax avec xhr.
Mais là tu me dis donc de ne pas utiliser de formulaire. Du coup je suis carrément perdu :/ Je planche dessus depuis plusieurs heures pourtant. L'"autodidactie" n'est pas le meilleur chemin pour arriver à la maîtrise, loin de là, j'ai l'impression de plus rien  comprendre d'un coup!

Merci de ton aide, tu ressembles à une lumière au bout du couloir là :)

samedi 7 juin 2008 à 19:03:33 | Re : Formulaire html/php chargé par Ajax

studiolapomme

OUi c'est ça nicomilville, j'été sur la page depuis un bout de temps, j'avais pas vu ta réponse

samedi 7 juin 2008 à 19:21:30 | Re : Formulaire html/php chargé par Ajax

studiolapomme

J'ai juste remplacé dans le fichier ajax.js les deux dernieres lignes par:

xhr2.open("POST","./verif.php", true);
send("subject="+document.getElementById("formail").value+"Name="document.getElementsByName("nom").value+"Mail="document.getElementsByName("mail").value+"Sujet="document.getElementsByName("titremessage").value+"Message="document.getElementsByName("mess").value, true);

Mais ca fait carrément tout planter car aucune fonctions ajax ne marche maintenant... j'ai fais une erreur de syntaxe?

samedi 7 juin 2008 à 19:21:55 | Re : Formulaire html/php chargé par Ajax

nicomilville

Membre Club
pas grave, je vais te proposer une autre version :

  <script type="text/javascript">
  <!--
  function actualisation(){
  var xhr_object = null;
  if(window.XMLHttpRequest)
  xhr_object = new XMLHttpRequest();
  else if(window.ActiveXobject)
  xhr_object = new ActiveXobject("Microsoft.XMLHTTP");
  else{
  alert("Votre navigateur n'est pas compatible avec XMLHttpRequest");
  return;
  }
  xhr_object.open("POST", "verif.php", true);
  xhr_object.onreadystatechange = function ()
 {
  if (xhr_object.readyState== 4 && xhr_object.status == 200)
  {
         document.getElementById("form").innerHTML = xhr_object.responseText;
  }
 }
xhr_object.send(null);
};
//-->
  </script>

Si la réponse vous convient, pensez : Réponse acceptée !


samedi 7 juin 2008 à 19:42:00 | Re : Formulaire html/php chargé par Ajax

studiolapomme

Je viens de faire ce que tu as dis en mettant dans ma page qui accueille la div a actualiser:

<div id="form">
<form method="POST" onSubmit="actualisation();return false;" id="formail">
<input type=hidden name=subject value=formmail>
<div class="text">
<div>Nom: <input type="text" class="form" value="" name="nom"></div>
<div>E-mail: <input type="text" class="form" value="" name="mail"></div>
<div>Sujet: <input type="text" class="form" value="" name="titremessage"></div>
<div>Message: <textarea rows="5" cols="25" class="textarea" name="mess"></textarea></div>
<div>
<a href="#form" onclick="document.getElementById('formail').reset()">Annuler</a>
<a href="#" onclick="document.getElementById('formail').submit()">Envoyer</a>
</div>
</div>
</form>
</div>

Mais ca reload toute la page et me fait revenir à l'index en fait.
Merci a toi aussi de ta contribution!


samedi 7 juin 2008 à 20:13:13 | Re : Formulaire html/php chargé par Ajax

nicomilville

Membre Club
c'est pas comme ça qu'il faut faire, il faut le mettre dans le onclick de ton liens... Car si tu fais un submit ça rechargera automatiquement ta page...

a++

Si la réponse vous convient, pensez : Réponse acceptée !



1 2 3

Cette discussion est classé dans : string, system, xml, name, at


Répondre à ce message

Sujets en rapport avec ce message

probleme liste lié sur une boucle for [ par fouedk2 ] Error convertoring HTML to XHTML: System.InvalidOperationException: There was no XML start tag open. at System.Xml.XmlTextWriter.InternalWriteEndEl mis a jour d'un fichier xml a partier de php [ par ninfo2008 ] bjr, je suis nawal etudiant et j'ai entrein de devloppe un logiciel avec le php et xml j'ai une base de donnee xml et je cherche comment mettre a jour Pb document.GetElementById [ par jcex ] bonjour à tous je galère sur cette erreur depuis kk temps maintenant après plusieurs tests, j'en arrive à la conclusion qu'il doit s'agir du formatage Histoire de focus [ par Maroxye ] Bonjour!Je suis assez débutante avec Javascript, voici mon problème(on parle d'un panier d'achat) :J'ai une form principale avec un champ texte qui es Parser un XML en javascript (=xml to array) [ par Logan ] Bonjour,Je suis en train de realiser un petit chat en ajax, et je dois donc parser un xml pour en recuperer des valeurs en javascript...je vous montre Manipulation d'un fichier xml chargé avec jQuery [ par gillespockpock ] Bonjour, j'ai un problème, je n'arrive pas à manipuler le DOM d'un document XML que je charge avec jQuery; voici le code du chargement: (l'url du fich Que signifie Identitying name ? server ? chanels ? [ par JACQUES718 ] Bonjour a tous,J ai pris un abonnement a mycomputer.com avec le service Superstart problème javascript - XML [ par iraho ] Bonjour, j'ai un souci avec pour faire du xml dynamique avec javascript et j'aurais besoin d'aide. En fait, j'ai code associant xml, xslt et javascrip appeler des frameset imbriqué par le name. [ par rhan_659 ] Bonjourj'ai un framset imbriqué dans un autre framesetj'ai accès au frame désiré par son indice : top.frames[1].frames[1].location.href mais j'aurrais Data area passed to a system call is too small [ par Willi ] Bonjour,J'essai d'ouvrir une fenêtre d'nouveau message mail pré-remplie.le script ressemble à cela:window.navigate("mailto:toto@toto.fr?subject=blabla


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,468 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.