[AJAX] modif conenu d'un div

Fermé
Utilisateur anonyme - Modifié par seby1996 le 14/12/2010 à 17:04
 Utilisateur anonyme - 14 déc. 2010 à 19:31
Bonjour,
je travail sur une enquête web très bien réalisée par des personnes que je connait et elles m'ont demandées de le transformé en enquête de type web, le truc, c'est que comme ça fait 50 lignes, si il y a un champ vide, il y a des messages d'erreurs, et pour les champ ok (ce sont des champs bouton radio) j'affiche un texte que le champ est ok, mais d'en l'éventualité de quelqu'un qui aurait faire une erreur, j'affiche le contenu. Le truc, c'est que si la personne à fait une erreur, j'aimerais avoir un lien qui supprime la ligne et ré affiche la ligne de bouton radio.
Pouvez-vous m'aider, et si oui, me donner un morceau de js ou quoi ?


Merci de votre aide.


A voir également:

2 réponses

Nanolenain Messages postés 72 Date d'inscription lundi 6 décembre 2010 Statut Membre Dernière intervention 3 février 2012 11
14 déc. 2010 à 17:47
Pour la vérification des champs d'un formulaire en javascript, ce tuto est très bien fait : https://www.grafikart.fr/tutoriels/valider-formulaire-jquery-57
Si tu cherches quelque chose de plus spécifique, essaie d'être plus explicite.
0
Utilisateur anonyme
14 déc. 2010 à 19:31
Oui, voilà ! J'ai fait ceci :
// Conserver une instance de XMLHttpRequest.
var xmlHttp = createXmlHttpRequestObject();

// Créer une instance de XMLHttpRequest.
function createXmlHttpRequestObject() 
{
  // Conserver une référence à l'objet XMLHttpRequest.
  var xmlHttp;
  // Créer l'objet XMLHttpRequest.
  try
  {
    // Supposer IE7, ou plus récent, ou un autre navigateur moderne.
    xmlHttp = new XMLHttpRequest();
  }
  catch (e)
  {
    // Supposer IE6, ou plus ancien.
    try
    {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch(e) { }
  }
  // Retourner l'objet créé ou afficher un message d'erreur.
  if (!xmlHttp)
    alert("Erreur de création de l'objet XMLHttpRequest.");
  else 
    return xmlHttp;
}

// Lire un fichier depuis le serveur.
function process_sexe()
{
  // Continuer uniquement si l'objet xmlHttp est valide.
  if (xmlHttp)
  {
    // Tenter une connexion au serveur.
    try
    {
      // Initier la lecture du fichier depuis le serveur.
      xmlHttp.open("GET", "js/modif_sexe.php?sexe_modif=1", true);
      xmlHttp.onreadystatechange = handleRequestStateChange;
      xmlHttp.send();
    }
    // En cas d'échec, afficher l'erreur.
    catch (e)
    {
      alert("Connexion au serveur impossible :\n" + e.toString());
    }
  }
}

// Fonction appelée lorsque l'état de la réponse HTTP change.
function handleRequestStateChange() 
{
  // Lorsque readyState vaut 4, lire la réponse du serveur.
  if (xmlHttp.readyState == 4) 
  {
    // Continuer uniquement si l'état HTTP est "OK".
    if (xmlHttp.status == 200) 
    {
      try
      {
        // Faire quelque chose avec la réponse du serveur.
        handleServerResponse();
      }
      catch(e)
      {
        // Afficher un message d'erreur.
        alert("Erreur de lecture de la réponse : " + e.toString());
      }
    } 
    else
    {
      // Afficher un message d'état.
      alert("Problème d'obtention des données :\n" + xmlHttp.statusText);
    }
  }
}

// Traiter la réponse reçue du serveur.
function handleServerResponse()
{
  // Lire le message du serveur.
  // Générer la sortie HTML.
  var html = xmlHttp.responseText;  
  // Parcourir les tableaux et créer la structure HTML.
  // Obtenir une référence à l'élément <div> de la page.
  myDiv = document.getElementById("sexe");
  // Afficher la sortie HTML.
  myDiv.innerHTML = "Modifier : " + html;
}

//Deuxième champ
function process_age()
{
  // Continuer uniquement si l'objet xmlHttp est valide.
  if (xmlHttp)
  {
    // Tenter une connexion au serveur.
    try
    {
      // Initier la lecture du fichier depuis le serveur.
      xmlHttp.open("GET", "js/modif_age.php?age_modif=1", true);
      xmlHttp.onreadystatechange = handleRequestStateChange;
      xmlHttp.send();
    }
    // En cas d'échec, afficher l'erreur.
    catch (e)
    {
      alert("Connexion au serveur impossible :\n" + e.toString());
    }
  }
}

// Fonction appelée lorsque l'état de la réponse HTTP change.
function handleRequestStateChange2() 
{
  // Lorsque readyState vaut 4, lire la réponse du serveur.
  if (xmlHttp.readyState == 4) 
  {
    // Continuer uniquement si l'état HTTP est "OK".
    if (xmlHttp.status == 200) 
    {
      try
      {
        // Faire quelque chose avec la réponse du serveur.
        handleServerResponse();
      }
      catch(e)
      {
        // Afficher un message d'erreur.
        alert("Erreur de lecture de la réponse : " + e.toString());
      }
    } 
    else
    {
      // Afficher un message d'état.
      alert("Problème d'obtention des données :\n" + xmlHttp.statusText);
    }
  }
}

// Traiter la réponse reçue du serveur.
function handleServerResponse2()
{
  // Lire le message du serveur.
  // Générer la sortie HTML.
  var html2 = xmlHttp.responseText;  
  // Parcourir les tableaux et créer la structure HTML.
  // Obtenir une référence à l'élément <div> de la page.
  myDiv2 = document.getElementById("age");
  // Afficher la sortie HTML.
  myDiv2.innerHTML = "Modifier : " + html2;
}

qui est censé afficher des formulaires provenant de fichier php
et voici les lien, <font color="#00CC33"><div id="age"><b>Vous avez soumis avec succès ce champ ! (<a href="#" OnClick="process_age()">Modifier</a>)</b><input type="hidden" name="age" value="'.$_SESSION['age'].'"></div></font>

<font color="#00CC33"><div id="sexe"><b>Vous avez soumis avec succès ce champ ! (<a href="#" onClick="process_sexe()">Modifier</a>)</b><input type="hidden" name="sexe" value="'.$_SESSION['sexe'].'"></div></font>

C'est cencé en fait, afficher les formulaires pour modifier les lignes. Pour faire cela, le lien est censcé être deleter et remplacer par le formulaire, mais quand je le test, et que je clique sur age, cela s'affiche dans la ligne de sexe et sexe dans sexe ! Donc, ce que je voudrait c'est que la ligne sexe apparaisse dans sexe et age dans age, mais cela ne fonctionne pas !

Merci de votre aide.
0