Affichage en ajax selon valeur d'une text box
Totala
-
totala -
totala -
Bonjour tout le monde.
Je recherche une aide concernant une fonction que je veux mettre en place sur mon site.
Je souhaiterai qu'un texte apparaisse sur mon site tant que la valeur 1 n'apparait pas dans une textbox.
Pour etre plus concret.
Quelqu'un rempli un formulaire :
un champ nommé "nombre de XXX" avec en face une textbox et un bouton + et - pour incrémenté ou diminuer la valeur (pouvant aller de 0 à 9)
Dans ma page je dis que : tant que le chiffre 3 minimum n'est pas saisi, la personne ne peut pas valider sont formulaire.
Je voudrais donc en AJAX pour eviter le rechargement de la page afficher un texte disant : " IL VOUS RESTE ENCORE 3 XXXX à choisir"
Si la personne saisie 1 alors le texte change de manière dynamique et affiche "IL VOUS RESTE ENCORE 2 XXX à choisir"
j'espère avoir été clair, si ce n'est pas très clair dites le mois je développerai.
Merci d'avance a toute personne pouvant m'apporter de l'aide
Je recherche une aide concernant une fonction que je veux mettre en place sur mon site.
Je souhaiterai qu'un texte apparaisse sur mon site tant que la valeur 1 n'apparait pas dans une textbox.
Pour etre plus concret.
Quelqu'un rempli un formulaire :
un champ nommé "nombre de XXX" avec en face une textbox et un bouton + et - pour incrémenté ou diminuer la valeur (pouvant aller de 0 à 9)
Dans ma page je dis que : tant que le chiffre 3 minimum n'est pas saisi, la personne ne peut pas valider sont formulaire.
Je voudrais donc en AJAX pour eviter le rechargement de la page afficher un texte disant : " IL VOUS RESTE ENCORE 3 XXXX à choisir"
Si la personne saisie 1 alors le texte change de manière dynamique et affiche "IL VOUS RESTE ENCORE 2 XXX à choisir"
j'espère avoir été clair, si ce n'est pas très clair dites le mois je développerai.
Merci d'avance a toute personne pouvant m'apporter de l'aide
A voir également:
- Affichage en ajax selon valeur d'une text box
- Set-top box - Accueil - Box & Connexion Internet
- Affichage double ecran - Guide
- Adresse ip box - Guide
- Windows 11 affichage classique - Guide
- Transcription audio en texte word gratuit - Guide
16 réponses
Bonjour,
si j'ai bien compris votre problème, vous voulez afficher un message sans recharger la page. En effet ajaxe peut le faire, vous trouverez plus d'information
dans la page suivante pour mettre à jour une page grâce à un fichier XML
voici la page :
http://apprendre-creer-sites.com/js/ajax_xmlfichier.php
si j'ai bien compris votre problème, vous voulez afficher un message sans recharger la page. En effet ajaxe peut le faire, vous trouverez plus d'information
dans la page suivante pour mettre à jour une page grâce à un fichier XML
voici la page :
http://apprendre-creer-sites.com/js/ajax_xmlfichier.php
Bonjour,
je pense avoir compris le problème et ajax n'est pas nécessaire JavaScript suffit ;)
Un petit exemple :
Adns
je pense avoir compris le problème et ajax n'est pas nécessaire JavaScript suffit ;)
Un petit exemple :
<script> var valeurMin = 3; //valeur à récupérer de la base de données function toInt(x){ return parseInt(x,10); // converti un string en int } function getId(id){ return document.getElementById(id); //recupère un élément via son id } function update(op, id){ if (op == '+') getId(id).value = toInt(getId(id).value) + 1; if (op == '-') getId(id).value = toInt(getId(id).value) - 1; verification(id); } function verification(id){ if (getId(id).value < valeurMin) getId('message_'+id).innerHTML = "Il vous reste "+(valeurMin-toInt(getId(id).value))+" a acheter"; else getId('message_'+id).innerHTML = ""; } </script> <a href="#" onclick="update('-',1)">-</a> <input id="1" value="1" name="quantite" onkeyup="verification(this.id)"> <a href="#" onclick="update('+',1);">+</a> <span id="message_1"></span>
Adns
Bonjour,
ton problème n'est pas clair.
Si j'ai bien compris tu as un champ texte et tu veux vérifier que l'utilisateur est bien saisie 3 fois une certaine valeur dedans ?
Si ton traitement ne concerne que ce que l'utilisateur à saisie l'ajax n'est pas nécessaire du JavaScript suffira.
Adns
ton problème n'est pas clair.
Si j'ai bien compris tu as un champ texte et tu veux vérifier que l'utilisateur est bien saisie 3 fois une certaine valeur dedans ?
Si ton traitement ne concerne que ce que l'utilisateur à saisie l'ajax n'est pas nécessaire du JavaScript suffira.
Adns
En fait c'est pour ajouter une fonction sur un site de commande en ligne.
Ca se presente sous la forme d'un tableau multi ligne 5 colonne avec dans chaque case un article et en dessous une textbox avec un + et un - pour augmenter ou diminuer la quantité.
Je souhaite qu'un message apparaissent sur la page ou il serait inscrit "IL VOUS RESTE 1 CABLE de reference XXX a commander".
Une table intermediaire de ma BDD dirait que pour chaque commande 1 cable doit etre commander au minimum pour valider la commande.
Dès que l'utilisateur aurait saisi quantité 1 sur cet article la alors le message disparaitrait.
Si dans la base je dis que le nombre de cable minimum doit etre de 2 alors le message devrait dire "IL VOUS RESTE 2 CABLE de reference XXX a commander" dès lors que l'utilisateur saisirai "1" alors car afficherai de manière dynamique "IL VOUS EN RESTE 1 A COMMANDER".
J'espere avoir été clair.
Merci pour votre aide
Ca se presente sous la forme d'un tableau multi ligne 5 colonne avec dans chaque case un article et en dessous une textbox avec un + et un - pour augmenter ou diminuer la quantité.
Je souhaite qu'un message apparaissent sur la page ou il serait inscrit "IL VOUS RESTE 1 CABLE de reference XXX a commander".
Une table intermediaire de ma BDD dirait que pour chaque commande 1 cable doit etre commander au minimum pour valider la commande.
Dès que l'utilisateur aurait saisi quantité 1 sur cet article la alors le message disparaitrait.
Si dans la base je dis que le nombre de cable minimum doit etre de 2 alors le message devrait dire "IL VOUS RESTE 2 CABLE de reference XXX a commander" dès lors que l'utilisateur saisirai "1" alors car afficherai de manière dynamique "IL VOUS EN RESTE 1 A COMMANDER".
J'espere avoir été clair.
Merci pour votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui tu peux en modifiant la fonction update
Adns
function update(op, id){ if (op == '+') getId(id).value = toInt(getId(id).value) + 1; if (op == '-' && toInt(getId(id).value)>0) getId(id).value = toInt(getId(id).value) - 1; verification(id); }
Adns
merci beaucoup. J'ai une dernière question "ultra importante" pour la viabilité du sujet. Lorsque je duplique via une boucle while la partie ci dessous :
je me retrouve donc avec plusieurs textbox avec a leur coter les + et les -
Cependant lorsque je clique sur les + ca augmente la textbox de la premiere textbox quoi qu'il arrive.
J'ai essayer de modifier l'id (sur la 2eme ligne) en mettant des ID1 , ID2 , IDX mais idem. je rencontre toujours le même problème.
Si tu pouvais m'indiquer l'élément sur lequel il faut mettre un compteur dynamique via mon while pour que cela fonctionne.
Et une petite question qui va surement te paraitre bete mais quand je clique sur + qui se situe en bas de page pour mon cas ca me remonte automatiquement tout en haut de la page. Y a t'il un moyen de garder la position sur la page ?
Je te remercie par avance pour ton aide
<a href="#" onclick="update('-',1)">-</a> <input id="1" value="1" name="quantite" onkeyup="verification(this.id)"> <a href="#" onclick="update('+',1);">+</a> <span id="message_1"></span>
je me retrouve donc avec plusieurs textbox avec a leur coter les + et les -
Cependant lorsque je clique sur les + ca augmente la textbox de la premiere textbox quoi qu'il arrive.
J'ai essayer de modifier l'id (sur la 2eme ligne) en mettant des ID1 , ID2 , IDX mais idem. je rencontre toujours le même problème.
Si tu pouvais m'indiquer l'élément sur lequel il faut mettre un compteur dynamique via mon while pour que cela fonctionne.
Et une petite question qui va surement te paraitre bete mais quand je clique sur + qui se situe en bas de page pour mon cas ca me remonte automatiquement tout en haut de la page. Y a t'il un moyen de garder la position sur la page ?
Je te remercie par avance pour ton aide
Je viens de me rendre compte que meme lorsque je met juste le id=2
plus rien ne marche. Comment cela se fait il alors qu'on l'envoi en parametres ?
Et est il possible de mettre un id "alphanumérique" ou faut il avoir des ID que numérique ?
Merci.
plus rien ne marche. Comment cela se fait il alors qu'on l'envoi en parametres ?
Et est il possible de mettre un id "alphanumérique" ou faut il avoir des ID que numérique ?
Merci.
<input id="2" value="1" name="quantite" onkeyup="verification(this.id)">
un id alphanumérique est tout a fait possible.
Pour que cela fonctionne avec une boucle il faut modifier tout ce qui est en rapport avec l'id (définition et appel de fonction).
Exemple en PHP
Ce code n'est pas syntaxiquement correct mais te donne une bonne idée de ce qu'il faut faire.
Pour ce qui est du problème de "remonter d'écran" il devrait disparaitre car lorsque tu appel une fonction en bas de page et qui agis sur un élément tout en haut le focus ce même sut l'input concerné.
Adns
Pour que cela fonctionne avec une boucle il faut modifier tout ce qui est en rapport avec l'id (définition et appel de fonction).
Exemple en PHP
for($i=1;$i<10;$i++){ <a href="#" onclick="update('-',$i)">-</a> <input id="$i" value="1" name="quantite" onkeyup="verification(this.id)"> <a href="#" onclick="update('+',$i);">+</a> <span id="message_$i"></span> }
Ce code n'est pas syntaxiquement correct mais te donne une bonne idée de ce qu'il faut faire.
Pour ce qui est du problème de "remonter d'écran" il devrait disparaitre car lorsque tu appel une fonction en bas de page et qui agis sur un élément tout en haut le focus ce même sut l'input concerné.
Adns
Merci beaucoup ma boucle fonctionne désormais.
Cependant ca remonte a chaque fois en haut de la page. C'est pénible dans le fonctionnement car lorsque tu es au article tout en bas ca te ramene tout en haut.
- J'ai essayer de mettre le script en bas de page , en haut de page mais idem. il ne refait pas un focus sur l'input concerné.
- Egalement est il possible de mettre le message " il vous reste 3 articles a commander" dès le départ vu que la case est a "0"
Car la pour l'instant il faut cliquer sur + ou sur moins pour que le message apparaissent.
- dernier point après j'arret :) pour passer ma variable "valeurmin" qui elle sera dynamique, ai je le droit de faire cela :
Ou le parametre "5" serait ma valeurmin
et ensuite de la recuperer comme ci dessous et le commente la ligne "var valeurmin=3"
Merci encore pour ta précieuse aide.
Cependant ca remonte a chaque fois en haut de la page. C'est pénible dans le fonctionnement car lorsque tu es au article tout en bas ca te ramene tout en haut.
- J'ai essayer de mettre le script en bas de page , en haut de page mais idem. il ne refait pas un focus sur l'input concerné.
- Egalement est il possible de mettre le message " il vous reste 3 articles a commander" dès le départ vu que la case est a "0"
Car la pour l'instant il faut cliquer sur + ou sur moins pour que le message apparaissent.
- dernier point après j'arret :) pour passer ma variable "valeurmin" qui elle sera dynamique, ai je le droit de faire cela :
Ou le parametre "5" serait ma valeurmin
<input id="<%response.write id%>" value="0" name="<%=r("article")%>" onkeyup="verification(this.id,5)">
et ensuite de la recuperer comme ci dessous et le commente la ligne "var valeurmin=3"
function verification(id,valeurMin){ if (getId(id).value < valeurMin) getId('message_'+id).innerHTML = "Il vous reste "+(valeurMin-toInt(getId(id).value))+" à commander"; else getId('message_'+id).innerHTML = ""; }
Merci encore pour ta précieuse aide.
Autant pour moi j'ai mal interprété de problème de retour en haut de page. il s'agit d'un lien cliquable donc le navigateur s'attend à devoir faire quelque chose et la avec le href="#" il s'attend à se rendre à l'ancre "#" qui n'existe pas et donc il remonte en haut de page. solution pour y remédier: forcer l'abandon du lien.
Exemple :
Ta façon de faire pour la valeur minimale est très bien car celle ci te permet d'avoir une valeur minimale par champs et non une globale.
Pour ce qui est du message, si la valeur est toujours à zéro de base il te suffit de pré-remplir le "span" avec le message voulu :
Adns
Exemple :
function update(op, id){ if (op == '+') getId(id).value = toInt(getId(id).value) + 1; if (op == '-' && toInt(getId(id).value)>0) getId(id).value = toInt(getId(id).value) - 1; verification(id); return false; // <= empechera la remonter de page } <a href="#" onclick="return update('-',1)">-</a>
Ta façon de faire pour la valeur minimale est très bien car celle ci te permet d'avoir une valeur minimale par champs et non une globale.
Pour ce qui est du message, si la valeur est toujours à zéro de base il te suffit de pré-remplir le "span" avec le message voulu :
<input id="<%response.write id%>" value="0" name="<%=r("article")%>" onkeyup="verification(this.id,<%response.write valeurMini%>)"> <span id="message_1">Il vous reste <%response.write valeurMini%> à commander</span>
Adns
Bonjour,
Merci pour ces infos.
Ca fonctionne parfaitement.
Maintenant j'en veux toujours plus mais je ne sais pas trop comment cela fonctionne... :)
Comment puis je mettre la cellule textbox en rouge si la valeur est inférieur au min de la base de données
Merci d'avance
Merci pour ces infos.
Ca fonctionne parfaitement.
Maintenant j'en veux toujours plus mais je ne sais pas trop comment cela fonctionne... :)
Comment puis je mettre la cellule textbox en rouge si la valeur est inférieur au min de la base de données
function verification(id,valeurMin){ if (getId(id).value < valeurMin) getId('message_'+id).innerHTML = "Il vous reste "+(valeurMin-toInt(getId(id).value))+" à commander"; // puis je mettre un truc comme ceci qui fonctionnerai ? document.getElementById(getId(id).value).style.backgroundColor = 'red'; else getId('message_'+id).innerHTML = ""; } </script>
Merci d'avance
Bonsoir,
ce que tu essaies ne peut pas fonctionner car tu essaies de récupérer un élément via son ID en lui donnant comme ID de référence la valeur du champ qui t'intéresses.
la fonction getId que je t'ai fourni renvoi l'élément qui t'intéresses. getId(id).value dans ta fonction te renvoies la valeur du champ courant.
Tu applique donc la bonne fonction pour changer la couleur en rouge mais pas sur le bon élément.
Solution :
Adns
ce que tu essaies ne peut pas fonctionner car tu essaies de récupérer un élément via son ID en lui donnant comme ID de référence la valeur du champ qui t'intéresses.
la fonction getId que je t'ai fourni renvoi l'élément qui t'intéresses. getId(id).value dans ta fonction te renvoies la valeur du champ courant.
Tu applique donc la bonne fonction pour changer la couleur en rouge mais pas sur le bon élément.
Solution :
getId(id).style.backgroundColor = 'red';
Adns
Bonjour,
Je viens d'essayer cette fonction mais visiblement il y a un bug car je ne peux ni appuyer sur + ni sur -
:(
j'ai essayer de chercher sur le net, je trouve effectivement la syntaxe que tu m'a indiquée. étrange.
SI tu as une autre idée
merci bcp en tout cas
Je viens d'essayer cette fonction mais visiblement il y a un bug car je ne peux ni appuyer sur + ni sur -
:(
j'ai essayer de chercher sur le net, je trouve effectivement la syntaxe que tu m'a indiquée. étrange.
SI tu as une autre idée
merci bcp en tout cas
Bonsoir,
Est ce possible de lié javascript & asp
Je recherche une solution à un problème et pour cela j'ai 2 idées.
y en a t-il une de réalisable :
J'ai une variable asp qui se nomme "A" , je la passe en parametre dans la fonction ci dessous.
Je calcul ensuite ma nouvelle valeur de "A".
Je souhaiterai repasser celle valeur "newa" dans la variable ASP pour que lors du prochain appel a ma fonction, ce soit celle nouvelle valeur de A qui soit utilisée et non pas l'ancienne.
La première option est donc de savoir : est possible et si oui comment puis je passer la valeur de newa dans ma variable asp "A"
et sinon j'ai trouver une alternative en passant par une table mysql intermediaire mais cela oblige a ce que je puisse executer la requete placer en dessous de //CAS2 depuis le javascript avec la valeur de ma variable "newa"
J'espère avoir été clair merci pour ton aide
Est ce possible de lié javascript & asp
Je recherche une solution à un problème et pour cela j'ai 2 idées.
y en a t-il une de réalisable :
J'ai une variable asp qui se nomme "A" , je la passe en parametre dans la fonction ci dessous.
Je calcul ensuite ma nouvelle valeur de "A".
Je souhaiterai repasser celle valeur "newa" dans la variable ASP pour que lors du prochain appel a ma fonction, ce soit celle nouvelle valeur de A qui soit utilisée et non pas l'ancienne.
La première option est donc de savoir : est possible et si oui comment puis je passer la valeur de newa dans ma variable asp "A"
et sinon j'ai trouver une alternative en passant par une table mysql intermediaire mais cela oblige a ce que je puisse executer la requete placer en dessous de //CAS2 depuis le javascript avec la valeur de ma variable "newa"
J'espère avoir été clair merci pour ton aide
function update(op, id, valeurMin, nbpts, A , numcde){ if (op == '+') { getId(id).value = toInt(getId(id).value) + 1; var obj = document.getElementById("champ_input") obj.value=A-nbpts // calcul de la nouvelle valeur de A // comment envoyer cette valeur dans la variable A (asp) var newa = A-nbpts // CAS2 // comment executer cette requete depuis javascript // ou newa sera la valeur calculer ci dessus // et ou numcde sera une valeur reçu en parametre <% xx="update temp set nbpoint='newa' where ncde='numcde'" set rtemp=conntemp.execute(xx) %> }