J'ai besoin de récupérer la valeur de l'input hidden : $('[name="ref"]').val(); dans le formulaire car elle changera en fonction d'autres paramètres que je n'ai pas encore traité.
// liste déroulante
<select name="reference" id="reference">
<option value="">Choisir votre ref :</option>
<option value="ref1">Ref 1</option>
<option value="ref2">Ref 2</option>
<option value="ref3">Ref 3</option>
<option value="ref4">Ref 4</option>
<option value="ref5">Ref 5</option>
</select>
<div id="prix"></div>
// Appel Ajax
function actualise_infos() {
var elm, urlAjx = "article_ajax.php", datas = {ref:elm};
elm = $('[name="ref"]').val();
$.ajax({
type: "POST",
url: urlAjx,
data: datas,
dataType: "json",
success: function(reponse){
console.log(reponse);
if(typeof(reponse.prix)!="undefined" && reponse.prix!=null){
$("#prix").html(reponse.prix);
}
},
error:function(jqXHR, textStatus) {
var error = jqXHR.responseText;
alert('error :' + error);
}
});
}
$('#reference').on('change', actualise_infos);
// fichier: article_ajax.php
// inclure le fichier de connexion à la bdd
require_once "cnxBdd.php";
//récupération PROPRE des variables
$ref = !empty($_POST["ref"]) ? $_POST["ref"] : NULL;
if($ref){
$q = array('ref'=>$ref);
$sql = "SELECT * FROM article WHERE ref = :ref";
try{
$req = $db->prepare($sql);
$req->execute($q)
$result = $req->fetch();
}catch(Exception $e){
$result = "Error ! ".$e->getMessage();
}
}else{
$result = "No REF !!";
}
//on renvoie les donnees sous format json
echo json_encode($result);
2 mars 2017 à 11:01
Le code que tu nous montres ... c'est celui de "article.php" ???
Et dans ton AJAX tu fais appel à "article.php" aussi ???..... là y'a un souci !!