Mise à jour d'un cookie lors d'une requête

Résolu
jcdfr Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
jcdfr Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'ai un script qui est lancer lors d'un onchange dans un formulaire mais j'aimerai ajouter la mise à jour d'un cookie fileclass dans ce script, qui pourrais me le changer pour moi? Pour info le var q dans ce code contient la valeur requise pour mon cookie 'fileclass'.
le script:

<script>
function showFAQ(str) {
  if (str=="") {
    document.getElementById("faqHint").innerHTML="";
    return;
  } 
  if (window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
   //used the keyword var before initializing xmlhttp variable
   var xmlhttp=new XMLHttpRequest();
  } else { // code for IE6, IE5
   var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
      document.getElementById("faqHint").innerHTML=xmlhttp.responseText;
    }
  }
   var category = "<?php echo $category; ?>";
    var catid = "<?php echo $catid; ?>";
    var subcat = "<?php echo $subcat; ?>";
    var subcat2 = "<?php echo $subcat2; ?>";
    var subcatid= "<?php echo $subcatid; ?>";
    var fileclass= "<?php echo $fileclass; ?>";
  xmlhttp.open("GET","FaqCheck.php?q="+str+ '&catid=' + catid + '&category=' + category + '&subcat=' + subcat + '&subcat2=' + subcat2 + '&subcatid=' + subcatid + '&fileclass=' + fileclass,true);
  xmlhttp.send();
}
function showClass(str) {
  if (str=="") {
    document.getElementById("txtHint").innerHTML="";
    return;
  } 
  if (window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    //used the keyword var before initializing xmlhttp variable
    var xmlhttp=new XMLHttpRequest();
  } else { // code for IE6, IE5
    var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
      document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
   var category = "<?php echo $category; ?>";
    var catid = "<?php echo $catid; ?>";
    var subcat = "<?php echo $subcat; ?>";
    var subcat2 = "<?php echo $subcat2; ?>";
    var subcatid= "<?php echo $subcatid; ?>";
    var fileclass= "<?php echo $fileclass; ?>";
    xmlhttp.open("GET","FileCheck.php?q="+str+ '&catid=' + catid + '&category=' + category + '&subcat=' + subcat + '&subcat2=' + subcat2 + '&subcatid=' + subcatid + '&fileclass=' + fileclass,true);
  xmlhttp.send();
}
</script>
A voir également:

2 réponses

Utilisateur anonyme
 
Bonjour

il y a la fonction setCookie qui est très bien expliquée ici :
https://www.w3schools.com/JS/js_cookies.asp.
Mais comme on ne sait pas quand tu veux le mettre à jour, ni quand les fonctions que tu montres sont appelées, on ne sait pas où placer l'appel à setCookie.
0
jcdfr Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
ah oki, désolé, le processus est assez simple, depuis un formulaire, il y a un Select menu déroulant qui enclenche en onchange qui execute ces deux fonctions.
L'idée est que deux autres pages cité dans ces scripts font une requête MySQL (PDO) et mets les résultats chancun dans un DIV.

sauf que j'aimerai prévenir l'utilisateur quel est le contenu de fileclass en temps réel.
je note aussi une erreur dans mon script, je doit changer cette ligne ;

var fileclass= "<?php echo $fileclass; ?>";


pour

var fileclass=form.fileclass.options[form.fileclass.options.selectedIndex].value; 


J'aimerai avoir la vrai valeur du onchange (avant le onclick) pour afficher cette valeur sur la même page? J'ai pensé un cookie serait idéal, comme cela je peut rafraîchir le variable php ave ce cookie.
0
jcdfr Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
résumé, avec onchange, je veut afficher la valeur du choix sélectionné du menu déroulant sur la page courante, par example ;
<?php echo $variable ?> 
comme ca, dès que l'utilisateur le choisi, il ce remplis.

<select name="fileclass" onchange="showClass(this.value); showFAQ(this.value);" required="">
0
Utilisateur anonyme
 
Rien compris, désolé.
Et toi, as-tu compris le lien que je t'ai envoyé ?
0
jcdfr Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
le variable 'q' dans mon script, comment le montrer sur ma page?
0
Utilisateur anonyme
 
alert(q);
0
jcdfr Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai ajouter
document.querySelector('#myResults').innerHTML = str;
dans ma fonction 'function showFAQ(str)' après la ligne
document.getElementById("faqHint").innerHTML=xmlhttp.responseText;


et dans mon code HTML j'ai ajouter
<div id="myResults"></div>


voir https://stackoverflow.com/questions/9689109/how-to-display-javascript-variables-in-a-html-page-without-document-write
0