Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/07/2011, 17h05   #1
Membre habitué
 
Inscription : mai 2004
Messages : 499
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 499
Points : 149
Points : 149
Par défaut Démarrer exécution sur onChange input hidden

Bonjour,

Dans une application intranet Php, dans une de mes interfaces, je mets un champ date 'hidden' à jour via un pop-up calendrier cliquable. Une fois ce champ mis à jour, je voudrais exécuter une autre fonction js, mais je n'y parviens pas, le onChange sur un champ hidden ne réagissant pas si il n'est pas effectué par l'utilisateur.

Quelqu'un aurait une idée?

Merci d'avance
dubitoph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 17h11   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 030
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 030
Points : 45 128
Points : 45 128
heu ben appelle la fonction la ligne après celle ou tu modifies le contenu de ton champs hidden ???
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 17h29   #3
Membre habitué
 
Inscription : mai 2004
Messages : 499
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 499
Points : 149
Points : 149
Merci beaucoup de l'intérêt que tus portes à mon problème.

J'avais testé ta solution, mais se présentait alors un autre problème. Je m'explique.

Dans mon interface appelant le pop-up, je fais :

Code :
onDblClick=\"NewCal('dtePriseChargeBilan','DDMMYYYY');\"
Dans le fichier datetimepiker.js, au niveau de la fonction, la mise à jour du champ se fait sur le clic d'une cellule construite dynamiquement :

Code :
	PCellStr="<td "+vColor+" width="+CellWidth+" align='center'><font face='verdana' size='2'"+vHLstr1+"<a href=\"javascript:winMain.document.getElementById('"+Cal.Ctrl+"').value='"+Cal.FormatDate(PValue)+"';"+vTimeStr+";window.close();\">"+PValue+"</a>"+vHLstr2+"</font></td>";
Ensuite, j'ai l'instuction suivante qui s'effectue après la mise à jour :
Cette fonction se trouve dans le fichier 'fonctionsJs.js'.

Dans cette fonction, je vais rechercher la valeur du champ en question en faisant :

Code :
 var dte = document.getElementById('dtePriseCharge').value;
Lors de l'exécution, j'obtiens l'erreur 'document.getElementById("dtePriseCharge") is null'. Or, ce contrôle existe bien avec cet id.
dubitoph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 18h33   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 793
Points : 35 793
Citation:
le onChange sur un champ hidden ne réagissant pas si il n'est pas effectué par l'utilisateur.

Oui, ça arrive tous les jours que les utilisateurs modifient un champ hidden. Mais bon, le plus dur reste à cliquer dessus !

Plus sérieusement, un événement change intervient lorsqu'un champ a prit le focus, a changé de valeur et a perdu le focus. Les étapes 1 et 3 ne sont donc jamais remplies puisque la nature de ce champ font qu'il ne possède pas d'événement focus ou blur et par rebond, pas de change non plus.

Citation:
Lors de l'exécution, j'obtiens l'erreur 'document.getElementById("dtePriseCharge") is null'. Or, ce contrôle existe bien avec cet id.
Là, c'est ta parole contre celle de JavaScript
Mais peut-être y a-t-il une erreur de conception dans le code qui fait qu'au moment où tu lances cette instruction, le champ n'existe pas.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h27.


 
 
 
 
Partenaires

Hébergement Web