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

Résolu/Fermé
jcdfr Messages postés 15 Date d'inscription mercredi 2 avril 2014 Statut Membre Dernière intervention 12 juillet 2014 - Modifié par jcdfr le 12/07/2014 à 01:35
jcdfr Messages postés 15 Date d'inscription mercredi 2 avril 2014 Statut Membre Dernière intervention 12 juillet 2014 - 12 juil. 2014 à 18:08
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
12 juil. 2014 à 08:38
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 mercredi 2 avril 2014 Statut Membre Dernière intervention 12 juillet 2014
Modifié par jcdfr le 12/07/2014 à 11:22
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 mercredi 2 avril 2014 Statut Membre Dernière intervention 12 juillet 2014
Modifié par jcdfr le 12/07/2014 à 11:21
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
12 juil. 2014 à 11:58
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 mercredi 2 avril 2014 Statut Membre Dernière intervention 12 juillet 2014
12 juil. 2014 à 17:53
le variable 'q' dans mon script, comment le montrer sur ma page?
0
Utilisateur anonyme
12 juil. 2014 à 18:03
alert(q);
0
jcdfr Messages postés 15 Date d'inscription mercredi 2 avril 2014 Statut Membre Dernière intervention 12 juillet 2014
Modifié par jcdfr le 12/07/2014 à 18:09
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