8768 sujets
Développement web côté serveur, CMS
Bonjour,
Il te faut utiliser du jQuery :
Le code est, bien évidemment, à adapter à ton cas.
edit: quand je dis jQuery, c'est pas obligatoire, du js peux également faire l'affaire.
Modifié par Raphi (30 Jun 2015 - 15:11)
Il te faut utiliser du jQuery :
$('select[name="region"], select[name="departement"]').change(function(){
$('input[name="cp"], input[name="ville"]').val('');
});
Le code est, bien évidemment, à adapter à ton cas.
edit: quand je dis jQuery, c'est pas obligatoire, du js peux également faire l'affaire.
Modifié par Raphi (30 Jun 2015 - 15:11)
j'ai fais une petite démo en jquery également ici
Plop, juste, au passage, vous avez pas l'impression que charger tout JQuery pour effacer un input c'est un poil trop non ?
https://jsfiddle.net/rjhts4qm/1/
var select = document.getElementById("select");
var toclear = document.getElementById("toclear");
select.addEventListener("change", function() {
toclear.innerHTML = '';
});
https://jsfiddle.net/rjhts4qm/1/
Salut,
@_laurent : Tu ne réponds très bien à le demande. Mais pour moi c'est +1.
Pourquoi ? Le code est en natif. Donc c'est toujours mieux que Jcuicui. Aussi, le code est sensiblement de la même densité.
Ce qui donne en natif :
+1 Tout dépend de la complexité. Après tu peux partir d'une base native et utiliser du jcuicui pour des choses un peu plus complexe (40000 lignes en natif VS 3 lignes avec Jcuicui).
Modifié par niuxe (30 Jun 2015 - 21:33)
@_laurent : Tu ne réponds très bien à le demande. Mais pour moi c'est +1.
Pourquoi ? Le code est en natif. Donc c'est toujours mieux que Jcuicui. Aussi, le code est sensiblement de la même densité.
bibi67 a écrit :
Bonjour, dans un formulaire j'ai region, département, code postal & ville
je cherche un moyen que si la personne change un des deux select (region ou département) que mon input (code postal & ville ) se vide
merci de vos pistes ou solutions
upload/50985-imgbeta5-9.jpg
Ce qui donne en natif :
<select name="unChamp" id="unChamp">
<option value="0">0</option>
<option value="1">1</option>
</select>
<input name="unAutreChamp" id="unAutreChamp" class="champAVider" value="">
<input name="etUnAutreChamp" id="etUnAutreChamp" class="champAVider" value="">
window.addEventListener('load',function(){
var listeChampAVider = document.getElementsByClassName('champAVider'); //querySelectorAll fait aussi l'affaire.
document.getElementById('unChamp').addEventListener('change',function(){
for(var i = 0 ; i < listeChampAVider.length ; i++){
listeChampAVider[ i ].value = "";
}
});
});
Raphi a écrit :
quand je dis jQuery, c'est pas obligatoire, du js peux également faire l'affaire.
+1 Tout dépend de la complexité. Après tu peux partir d'une base native et utiliser du jcuicui pour des choses un peu plus complexe (40000 lignes en natif VS 3 lignes avec Jcuicui).
Modifié par niuxe (30 Jun 2015 - 21:33)
Je vois un innerHTML traîner dans un des codes. Pour rappel, pour les champs de formulaire c'est toujours value. Histoire d'enlever des doutes à celui qui passerait par là.
Ce que je trouve impressionnant, c'est surtout que JQuery est tellement répandu qu'il est considéré comme implicite, alors même que la personne à l'origine de la question ne le mentionne pas et qu'aucun code ne trahit sa présence. A tel point qu'on est obligé de le préciser explicitement quand on cherche une solution pur js ou avec un autre framework.
La logique voudrait quand même que ce soit l'inverse, non ?
C'est comme si quelqu'un venait poser une question de PHP assez générale sans préciser les outils utilisés et qu'il obtenait une solution Symphony (ou autre framework) alors qu'il n'a jamais indiqué qu'il l'utilisait effectivement. Désolé, mais ça n'a pas de sens.
EDIT: et en plus c'est dans le mauvais forum
Modifié par QuentinC (01 Jul 2015 - 13:58)
a écrit :
Plop, juste, au passage, vous avez pas l'impression que charger tout JQuery pour effacer un input c'est un poil trop non ?
Ce que je trouve impressionnant, c'est surtout que JQuery est tellement répandu qu'il est considéré comme implicite, alors même que la personne à l'origine de la question ne le mentionne pas et qu'aucun code ne trahit sa présence. A tel point qu'on est obligé de le préciser explicitement quand on cherche une solution pur js ou avec un autre framework.
La logique voudrait quand même que ce soit l'inverse, non ?
C'est comme si quelqu'un venait poser une question de PHP assez générale sans préciser les outils utilisés et qu'il obtenait une solution Symphony (ou autre framework) alors qu'il n'a jamais indiqué qu'il l'utilisait effectivement. Désolé, mais ça n'a pas de sens.
EDIT: et en plus c'est dans le mauvais forum
Modifié par QuentinC (01 Jul 2015 - 13:58)
Comment lancer un débat en une phrase?
Réponse :
Allez, je justifie mon erreur parce que quand même hein...
Quand j'ai vu le message de @bibi67 j'étais justement en train d'écrire (en jQuery) le même genre de comportement pour mon application. Du coup, par réflexe, j'ai balancé cette réponse mais j'ai édité 2min après, me rendant compte de la maladroitesse (si si ça existe ce mot ) de ma réponse.
Et comme j'avais la flemme d'écrire la solution en js, je me suis dis que d'autre le feraient à ma place, ou que @bibi67 avait déjà chargé du jQuery dans son application, donc la solution lui conviendrait.
Bref, je ne recommencerai plus c'est promis !
Réponse :
Raphi a écrit :
Il te faut utiliser du jQuery
Allez, je justifie mon erreur parce que quand même hein...
Quand j'ai vu le message de @bibi67 j'étais justement en train d'écrire (en jQuery) le même genre de comportement pour mon application. Du coup, par réflexe, j'ai balancé cette réponse mais j'ai édité 2min après, me rendant compte de la maladroitesse (si si ça existe ce mot ) de ma réponse.
Et comme j'avais la flemme d'écrire la solution en js, je me suis dis que d'autre le feraient à ma place, ou que @bibi67 avait déjà chargé du jQuery dans son application, donc la solution lui conviendrait.
Bref, je ne recommencerai plus c'est promis !
QuentinC a écrit :
Je vois un innerHTML traîner dans un des codes. Pour rappel, pour les champs de formulaire c'est toujours value. Histoire d'enlever des doutes à celui qui passerait par là.
Plop, juste, au passage, vous avez pas l'impression que charger tout JQuery pour effacer un input c'est un poil trop non ?
Ce que je trouve impressionnant, c'est surtout que JQuery est tellement répandu qu'il est considéré comme implicite, alors même que la personne à l'origine de la question ne le mentionne pas et qu'aucun code ne trahit sa présence. A tel point qu'on est obligé de le préciser explicitement quand on cherche une solution pur js ou avec un autre framework.
La logique voudrait quand même que ce soit l'inverse, non ?
C'est comme si quelqu'un venait poser une question de PHP assez générale sans préciser les outils utilisés et qu'il obtenait une solution Symphony (ou autre framework) alors qu'il n'a jamais indiqué qu'il l'utilisait effectivement. Désolé, mais ça n'a pas de sens.
EDIT: et en plus c'est dans le mauvais forum
Du calme, du calme les amis (on se chamaille pour aider son prochain)
rooooo QuentinC :$ Là je vais faire une incantation pour exorciser le troll qui est entré en toi.
D'un avis général, je suis entièrement d'accord avec toi. Jcuicui par ci jcuicui par là. Bonjour les perfs....
En ce qui concerne le innerHTML, j'ai eu la même remarque. Mais il est utilisé à bon escient bien que le script ne réponde pas au problème initial. Quand on lit le code de _laurent sur https://jsfiddle.net/rjhts4qm/1/, il utilise un <p> comme élément cible (d'où le innerHTML). C'est la raison pour laquelle, j'ai écris une réponse plus adéquate.
@Raphi :
1. C'est l'intention qui compte !
2. Même si tu ne sais pas le faire, en participant à la question tu auras appris et échanger. C'est le but du forum n'est ce pas ?
a écrit :
rooooo QuentinC :$ Là je vais faire une incantation pour exorciser le troll qui est entré en toi.
D'un avis général, je suis entièrement d'accord avec toi. Jcuicui par ci jcuicui par là. Bonjour les perfs....
Ce n'est pas un troll, c'est une constatation. C'est pareil sur stack. On te propose presque systématiquement une solution JQuery avant une solution pur js, même si personne n'a jamais explicitement mentionné JQuery.
On ne te pose même plus la question, tu utilises forcément JQuery.
C'est comme la tendance à vouloir placer JQuery au rang de langage. Je regrette, mais c'est un mauvais raccourci
a écrit :
En ce qui concerne le innerHTML, j'ai eu la même remarque. Mais il est utilisé à bon escient bien que le script ne réponde pas au problème initial. Quand on lit le code de _laurent sur https://jsfiddle.net/rjhts4qm/1/, il utilise un <p> comme élément cible (d'où le innerHTML). C'est la raison pour laquelle, j'ai écris une réponse plus adéquate.
OK, c'est le script qui était donc HS. Désolé.
a écrit :
Allez, je justifie mon erreur parce que quand même hein...
Techniquement tu en as fait une deuxième, tu as donné une solution javascript alors qu'ici on est sur le forum développement côté serveur.
Ceci dit je pense plutôt que c'est l'auteur initial qui s'est trompé, alors tu es tout pardonné.
QuentinC a écrit :
Ce n'est pas un troll, c'est une constatation. C'est pareil sur stack. On te propose presque systématiquement une solution JQuery avant une solution pur js, même si personne n'a jamais explicitement mentionné JQuery.
On ne te pose même plus la question, tu utilises forcément JQuery.
C'est comme la tendance à vouloir placer JQuery au rang de langage. Je regrette, mais c'est un mauvais raccourci
Exact.
De toute manière le code doit faire ce que l'on veut et comme on veut. C'est le but. Mais pour ce genre de script, jquery ne se justifie pas même si jquery est chargé dans la page.