Récupérer des valeurs dans des input
Résolu
janmar
Messages postés
148
Date d'inscription
Statut
Membre
Dernière intervention
-
janmar Messages postés 148 Date d'inscription Statut Membre Dernière intervention -
janmar Messages postés 148 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je récupère des donnees de ma base de données et je les affiche dans des input par une boucle while .
Sur ces données (nombreuses ? 600) lorsque je clique sur une case donnée, je la fais changer de couleur de fond par un script javascript qu'un programmeur m'a fourni gentiment.
(je suis absolument et totalement novice en JS)
Je souhaite enregistrer les valeurs modifiées de mes cases (couleur, texte).
Processus :
Je modifie mes input (value, color° de toutes les cases souhaitées et j'enregistre l'ensemble.
Comment procéder pour l'enregistrement des modifs effectuées ?????
Je récupère des donnees de ma base de données et je les affiche dans des input par une boucle while .
Sur ces données (nombreuses ? 600) lorsque je clique sur une case donnée, je la fais changer de couleur de fond par un script javascript qu'un programmeur m'a fourni gentiment.
(je suis absolument et totalement novice en JS)
Je souhaite enregistrer les valeurs modifiées de mes cases (couleur, texte).
Processus :
Je modifie mes input (value, color° de toutes les cases souhaitées et j'enregistre l'ensemble.
Comment procéder pour l'enregistrement des modifs effectuées ?????
A voir également:
- Récupérer la valeur d'un input
- Comment recuperer un message supprimé sur whatsapp - Guide
- Comment récupérer un compte facebook piraté - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un document dans le presse-papier samsung - Guide
- Comment recuperer une video sur youtube - Guide
53 réponses
excuse moi, je ne comprends pas ta demande.
Je crée un input type "hidden" avec name = "couleur<?php echo $donnees['ordre'];?>"
ordre varian de 1 à 675,
Je crée bien des input(s) qui s'appellent couleur1, le suivant couleur2 etc... ?
Je crée un input type "hidden" avec name = "couleur<?php echo $donnees['ordre'];?>"
ordre varian de 1 à 675,
Je crée bien des input(s) qui s'appellent couleur1, le suivant couleur2 etc... ?
Quand tu testes ton code, la où tu fais tes changements de couleurs et tu valides ton formulaire. Tu fais clique droit --> affichier le code source de la page (suivant le navigateur la phrase n'est pas pareil)
Et tu cherches ton <form> et copie colle les premiers td
Et tu cherches ton <form> et copie colle les premiers td
Excuse-moi, je ne t'avais pas compris.
Peut-être serait-il plus facile que je t'envoie l'adresse des 2 fichiers concernés par message privé, tu aurais ainsi tout sur la main ?
Peut-être serait-il plus facile que je t'envoie l'adresse des 2 fichiers concernés par message privé, tu aurais ainsi tout sur la main ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ok donc voici un tr :
Je l'écris juste à titre indicatif pour moi ;-)
Je fais une fonction js et je la poste quand j'ai fini :)
Jérémy
<tr> <span class="date"><td>2013-04-01</td></span> <span class="a"><td><input type ="text" name = "nom1" value = "1" id="centre" class="color1" onclick="switchColor(this)" size="25" maxlength="28" /></td></span> <input type="hidden" name="couleur1" onload="chargerCouleur(this)" value="" /> <span class="b"><td><input type ="text" name = "nom2" value ="2" class="color1" id="centre" onclick="switchColor(this)" size="25" maxlength="28" /></td></span> <input type="hidden" name="couleur2" onload="chargerCouleur(this)" value="" /> <span class="c"><td><input type ="text" name = "nom3" value ="3" class="color1" id="centre" onclick="switchColor(this)" size="25" maxlength="28" /></td></span> <input type="hidden" name="couleur3" onload="chargerCouleur(this)" value="" /> </tr>
Je l'écris juste à titre indicatif pour moi ;-)
Je fais une fonction js et je la poste quand j'ai fini :)
Jérémy
Voilà,
Alors il faut que tu mette le input type="hidden" dans le td ! (et plus besoin du chargerCouleur)
Et essaye avec ce code :
<script>
jQuery(function($){
$('tr').each(function(){
$(this).find('td').each(function(){
var c = $(this).find('input type ="text"').attr('class');
$(this).find('input type="hidden"').attr('value', c);
});
});
});
</script>
Alors il faut que tu mette le input type="hidden" dans le td ! (et plus besoin du chargerCouleur)
Et essaye avec ce code :
<script>
jQuery(function($){
$('tr').each(function(){
$(this).find('td').each(function(){
var c = $(this).find('input type ="text"').attr('class');
$(this).find('input type="hidden"').attr('value', c);
});
});
});
</script>
Ça ne va toujours pas.
J'ai simplifié mon exemple essai10.php pour ne laisser qu'une seule colonne, ce sera plus lisible.
Le nouveau fichier s'appelle essai11.php que tu peux utiliser :
J'ai bien mis l'INPUT dans le td.
J'ai changé le script dans le head.
Le résultat est le même : pas de valeur de couleur.
J'ai simplifié mon exemple essai10.php pour ne laisser qu'une seule colonne, ce sera plus lisible.
Le nouveau fichier s'appelle essai11.php que tu peux utiliser :
J'ai bien mis l'INPUT dans le td.
J'ai changé le script dans le head.
Le résultat est le même : pas de valeur de couleur.
testé en local sur essai11.php et ca marche :
<script>
jQuery(function($){
$('td').each(function(){
var c = $(this).find(':first-child').attr('class');
$(this).find(':nth-child(2)').attr('value', c);
});
});
</script>
Attention : Comme les modif du js se sont après le chargement de la page, regarder le code source ne sert à rien tu ne verras pas les nouvelles valeurs des value des input type="hidden"
Donc essaye ca et dit moi :)
<script>
jQuery(function($){
$('td').each(function(){
var c = $(this).find(':first-child').attr('class');
$(this).find(':nth-child(2)').attr('value', c);
});
});
</script>
Attention : Comme les modif du js se sont après le chargement de la page, regarder le code source ne sert à rien tu ne verras pas les nouvelles valeurs des value des input type="hidden"
Donc essaye ca et dit moi :)
moi je ne récupère rien du tout :
couleur1 =
couleur2 =
couleur3 =
Même lorsque j'envoie le formulaire sans changer la couleur, je ne récupère même pas la couleur verte qui est pour tous les Input à l'origine. color1 = green.
J'ai essayé de supprimer dans le hidden l'appel de la fonction onload="chargerCouleur, mais c'est pareil.
Peux-tu regarder le source de essai11. Peut-être trouveras-tu une anomalie ?
Moi, je ne vois rien d'anormal par rapport à ce que tu m'as conseillé.
couleur1 =
couleur2 =
couleur3 =
Même lorsque j'envoie le formulaire sans changer la couleur, je ne récupère même pas la couleur verte qui est pour tous les Input à l'origine. color1 = green.
J'ai essayé de supprimer dans le hidden l'appel de la fonction onload="chargerCouleur, mais c'est pareil.
Peux-tu regarder le source de essai11. Peut-être trouveras-tu une anomalie ?
Moi, je ne vois rien d'anormal par rapport à ce que tu m'as conseillé.
Oubli le onload et le chargerCouleur, tu peux carément les enlevé.
Quand je vais sur essai10 ou 11 il n'y a aucun chagement c'est normal ?
Quand je vais sur essai10 ou 11 il n'y a aucun chagement c'est normal ?
Non, je ne comprends pas pourquoi tu ne trouves pas de changements.
Par contre je fais mes essais exclusivement sur le essai11 qui est plus lisible. Lorsque vela marchera, je transformerai le essai10 en conséquence.
J'ai bien ton dernier script dans le head de essai11.
J'ai enlevé aussi le onload et le chargercouleur
J'ai même fermé complètement Firefox, puis remis en route après avoir vidé le cache.
Dans le source de essai11, j'ai bien la fonction JQuery ci-dessus.
Peux-tu regarder à nouveau le source essai11 ?
le code de traitement2 est toujours :
Par contre je fais mes essais exclusivement sur le essai11 qui est plus lisible. Lorsque vela marchera, je transformerai le essai10 en conséquence.
J'ai bien ton dernier script dans le head de essai11.
<script> jQuery(function($){ $('tr').each(function(){ $(this).find('td').each(function(){ var c = $(this).find('input type ="text"').attr('class'); $(this).find('input type="hidden"').attr('value', c); }); }); }); </script>
J'ai enlevé aussi le onload et le chargercouleur
J'ai même fermé complètement Firefox, puis remis en route après avoir vidé le cache.
Dans le source de essai11, j'ai bien la fonction JQuery ci-dessus.
Peux-tu regarder à nouveau le source essai11 ?
le code de traitement2 est toujours :
$nb = 1; while ($nb <= 675) { $nomvariable = 'nom'.$nb; $color = 'couleur'.$nb; echo $nomvariable.','.'valeur = '.$_POST[$nomvariable].','.$color.' = '.$_POST[$color];?><br><?php $nb = $nb +1; }
C'est ca mon dernier script :
<script>
jQuery(function($){
$('td').each(function(){
var c = $(this).find(':first-child').attr('class');
$(this).find(':nth-child(2)').attr('value', c);
});
});
</script>
Tu as encore l'ancien qui est :
<script>
jQuery(function($){
$('tr').each(function(){
$(this).find('td').each(function(){
var c = $(this).find('input type ="text"').attr('class');
$(this).find('input type="hidden"').attr('value', c);
});
});
});
</script>
<script>
jQuery(function($){
$('td').each(function(){
var c = $(this).find(':first-child').attr('class');
$(this).find(':nth-child(2)').attr('value', c);
});
});
</script>
Tu as encore l'ancien qui est :
<script>
jQuery(function($){
$('tr').each(function(){
$(this).find('td').each(function(){
var c = $(this).find('input type ="text"').attr('class');
$(this).find('input type="hidden"').attr('value', c);
});
});
});
</script>
Excuse moi de mon inattention. Je suis désolé de gaspiller ton temps comme ça.
Aorès modif, je reçois pour tous les input la valeur
couleur1 = color1
couleur2 = color1
couleur3 = color1
couleur4 = color1 etc....
color1 est la valeur d'origine de l'input ---> .color1 { background:green; }
On dirait qu'il ne change pas la valeur de la couleur avec le onclick malgré que visuellement on voit la couleur changer ?...
Aorès modif, je reçois pour tous les input la valeur
couleur1 = color1
couleur2 = color1
couleur3 = color1
couleur4 = color1 etc....
color1 est la valeur d'origine de l'input ---> .color1 { background:green; }
On dirait qu'il ne change pas la valeur de la couleur avec le onclick malgré que visuellement on voit la couleur changer ?...
Oui alors j'ai anticipé ca !
Il faut que tu mettes mon script dans une fonction, et tu l'appel dans ta fonction switch color ;-)
Il faut que tu mettes mon script dans une fonction, et tu l'appel dans ta fonction switch color ;-)
oui, mais voilà, je ne sais absolument pas faire ça !....
J'avoue ma complète ignorance en JS. La fonction switch dont je me sers m'a été fournie sur un forum.
Encore un petit coup de main s'il te plaît ?
J'avoue ma complète ignorance en JS. La fonction switch dont je me sers m'a été fournie sur un forum.
Encore un petit coup de main s'il te plaît ?
Pas de problème ;-)
<script>
jQuery(function($){
majInput();
function majInput(){
$('td').each(function(){
var c = $(this).find(':first-child').attr('class');
$(this).find(':nth-child(2)').attr('value', c);
});
}
});
</script>
<script type="text/javascript">
function switchColor(e) {
e.className = "color" + ((e.className.substring(5)%3)+1)
majInput();
}
</script>
<script>
jQuery(function($){
majInput();
function majInput(){
$('td').each(function(){
var c = $(this).find(':first-child').attr('class');
$(this).find(':nth-child(2)').attr('value', c);
});
}
});
</script>
<script type="text/javascript">
function switchColor(e) {
e.className = "color" + ((e.className.substring(5)%3)+1)
majInput();
}
</script>
Bonjour,
Je ne comprends pas bien l'appel du script dans la fonction switchColor ?... et pourquoi les fonctions majInput et switchColor sont indépendantes dans le head puisque chacune est entourée de <script> et </script>.
J'ai mis ton script dans le head.
Dans l'input j'ai essayé d'écrire successivement :
onclick="switchColor(this)" ou
onclick="MajInput(this)"
Ça ne va toujours pas, tous les retours font color1.
Tu peux essayer dans essai11.
Je viens de m'apercevoir que color1 étant à l'origine la couleur de tous les input car dans l'input j'ai mis class="color1", la valeur que l'on reçoit est color1, ce qui indique qu'après un onclick l'affichage de la couleur change bien sur l'écran, mais la valeur transmise dans le hidden n'est pas changée.
Si j'enlève le class="color1", les cases sont blanches à l'origine. je fais le click, la couleur change mais la valeur transmise est RIEN.
Je ne comprends pas bien l'appel du script dans la fonction switchColor ?... et pourquoi les fonctions majInput et switchColor sont indépendantes dans le head puisque chacune est entourée de <script> et </script>.
J'ai mis ton script dans le head.
Dans l'input j'ai essayé d'écrire successivement :
onclick="switchColor(this)" ou
onclick="MajInput(this)"
Ça ne va toujours pas, tous les retours font color1.
Tu peux essayer dans essai11.
Je viens de m'apercevoir que color1 étant à l'origine la couleur de tous les input car dans l'input j'ai mis class="color1", la valeur que l'on reçoit est color1, ce qui indique qu'après un onclick l'affichage de la couleur change bien sur l'écran, mais la valeur transmise dans le hidden n'est pas changée.
Si j'enlève le class="color1", les cases sont blanches à l'origine. je fais le click, la couleur change mais la valeur transmise est RIEN.
Bon, je commence à y voir un peu plus clair dans l'appel de la fonction. Effectivement, dans le onclick=switchColor, on appelle bien la fonction switchColor qui elle-même appelle majInput.
Ne serait-ce pas par hasard la dénomination de la variable que j'attends qui serait erronnée ? J'attends des variables qui s'appellent couleur1... couleur2... couleur 3 etc..
Or, je ne comprends pas dans la fonction majInput comment est nommée la variable ?
Ne serait-ce pas par hasard la dénomination de la variable que j'attends qui serait erronnée ? J'attends des variables qui s'appellent couleur1... couleur2... couleur 3 etc..
Or, je ne comprends pas dans la fonction majInput comment est nommée la variable ?