Bonjour, comment le titre le dit, je souhaite créer un script qui permet de tester si la valeur de l’input est égale à « yes » pour exécuter une fonction si non, ça affiche. Une alerte. Merci d’avance pour votre aide
Vous pouvez utiliser la fonction keypress() pour écouter l’événement keypress. A l’intérieur, utilisez this.value pour obtenir la valeur de l’input.
Code HTML:
<p>Entrez une valeur: <input type="text" id="fval"></p>
Code JQuery:
$(document).ready(function() {
$("#fval").keypress(function(e) {
if(e.which == 13) { //détecter la touche Entré est cliqué
if (this.value == "yes") {
alert('Fonction exécuter');
}
else {
alert('Alert!');
}
}
});
});
Résultat:
En vrais récupération doit se faire automatiquement après que le code ait inséré du texte dans l’input à l’aide de jquery. Voici mes codes pour que vous compreniez mon idée :
function ajouterAuPanier(){
var idProd =$('.produisActuel .idProduit').text();
var nomProd =$('.produisActuel .nomProd').text();
var total=parseInt($('.Total').text());
var prix =parseInt($('.produisActuel .prixVente').val());
var qte = $('#Panier .phaseUn .produisActuel .qte').val();
/*
<div> <input type="hidden" name="venteP"><label class="TitreActionProd">Vente de produit</label></div>
<div><label for=""></label></div>
<div><label for="">Produit</label> <label for="">
<select name="id_p" id="" class="produits">
</select>
</label></div>
<div><label for="">Client</label> <label for=""><input type="text" name="client_p" id=""></label></div>
<div><label for="">Quantité</label> <label for=""><input type="number" name="nbr" id=""></label></div>
<div><label for="">Payé pour</label> <label for=""><input type="number" name="paye" id=""></label></div>
*/
var product = $('<div id="prodPanier"></div>');
var multip=prix*parseInt(qte);
var somme =multip + total;
var details = $('<div class="NomDuProduit">'+nomProd+'</div><div class="QteDuProduit"> Quantité : '+qte+'</div><div class="supp"> X </div>');
var isset ="venteP";
var datas = $('.tekanionso').serialize();
$('#venteP').val(isset);
$('#id_p').val(idProd);
$('#client_p').val($('.nomClient').val());
$('#nbr').val(qte);
$.ajax({
type : 'post',
url : 'formulaire.php',
data : datas,
success : function(retour){
//La réponse de la page de traitement renvoi "yes" en cas de réussite si c'est pas le cas ça ne renvoit rien.
// Ici on change la valeur de l’input en valeur retournée par la page de traitement pour ensuite vérifie.
$('#messageRetour').val(retour);
if($('#messageRetour').val() !="" || $('#messageRetour').val()=="yes"){
product.html(details).appendTo('#Panier .phaseDeux .formPanier');
$('.Total').text(somme);
$('#messageRetour').val('');
}else{
alert('faux');
}
}
});
}
Je ne vois aucun problème dans ton code. Juste pour quoi ne pas faire directement:
if(retour !="" || retour=="yes"){
.....
}
au lieu:
$('#messageRetour').val(retour);
if($('#messageRetour').val() !="" || $('#messageRetour').val()=="yes"){
.....
}
J’ai réussi à le faire ! Que Dieu vous bénisse !!