[PHP/AJAX] Afficher message PHP avec AJAX

Résolu
patrice86 Messages postés 1380 Date d'inscription   Statut Membre Dernière intervention   -  
patrice86 Messages postés 1380 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je disposes d'un formulaire tout simple:
 <form method="GET" name="formulaire">   
  <table border="5">    
 <tr></tr>    
 <tr>    
 <td>Libelle:</td>    
 <td> <input type="texte" id="libcat"></td>    
 </tr>    
 <tr>    
  <td>Marque:</td><td>    
 <td> <input type="texte" id="marque"></td>    
 <td><INPUT TYPE="reset" VALUE="Effacer"><INPUT TYPE="button" VALUE="Valider"  onclick="ajaxFunction()"></td>    
 </tr>    
 </table>    
 </form>


Ce forumaire appel ensuite une fonction ajaxFunction() qui envoie les valeurs à un script php pour faire un insert dans une table.

<?php    
$dbconnect=pg_connect("host=localhost dbname=PTI user=postgres password=XXXXX");    

if ( (isset($_GET["lib"]) && isset($_GET["marque"]) )) {    
$lib=$_GET['lib'];    
$marque=$_GET['marque'];    
   $count = "INSERT INTO categorie VALUES (default,'".$lib."','".$marque."')";     
       
   echo"Enregistrement OK";    
         pg_query($dbconnect, $count);    
 }    
  else { echo("Erreur!");}    
?>


Mon problème étant que j'aimerai afficher les échos dans la saisie du Libelle du formulaire une fois l'insertion effectuer ou bien le 2éme echo si cela ne fonctionne pas.
Je fais
 ajax.onreadystatechange = function(){    
     // On ne fait quelque chose que si on a tout reçu et que le serveur est ok    
     if(ajax.readyState == 4 && ajax.status == 200){    
      leselect = ajax.responseText;    
           document.getElementById('libcat').innerHTML = leselect;    
     }    
    }


(Je ne postes pas tout le code JS, il fonctionne correctement, c'est juste l'affichage dans un id qui ne fonctionne pas)
mais rien ne s'affiche.

C'est un problème tout bête mais impossible de le résoudre... -_-

Merci de votre aide :)

A voir également:

2 réponses

supernico Messages postés 513 Date d'inscription   Statut Membre Dernière intervention   193
 
je n'ai pas lu tout ton code mais à la place de :
document.getElementById('libcat').innerHTML = leselect;


je mettrais plutôt :
document.getElementById('libcat').value = leselect;
0
patrice86 Messages postés 1380 Date d'inscription   Statut Membre Dernière intervention   125
 
Ce qui fonctionne parfaitement bien!
Peux-tu m'expliquer stp pourquoi ?
Histoire que je me couches moins idiot se soir :)
0
supernico Messages postés 513 Date d'inscription   Statut Membre Dernière intervention   193
 
en fait pour un input tu peux lire ou écrire sa valeur dans l'attribut "value". l'attribut innerHTML n'existe pas pour les input (ou en tout cas il n'est pas recommandé de l'utiliser)

Plus d'infos ici :
https://www.w3schools.com/tags/tag_input.asp

question résolue ? ;)
0
patrice86 Messages postés 1380 Date d'inscription   Statut Membre Dernière intervention   125
 
Question résolue !
MERCI
0