RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Serv: irc.irc-land.org
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 Onchange ne fonctionne pas sous IE7

Forum : JAVASCRIPT
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ JAVASCRIPT

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGE : [1]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM JAVASCRIPT

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
helios003
Nouveau membre
Inscrit : 15/05/2008
Messages : 2
Message
#153121
Posté le 15/05/08 à 17:14
Bonjour,
j'ai un petit problème avec le code suivant.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Page de Test</title> <link rel='stylesheet' class='component' type='text/css' href='/a4j_3_2_0-SNAPSHOTorg/richfaces/renderkit/html/css/basic_classes.xcss/DATB/eAHblDspFQAFnAIX.xhtml' /><link rel='stylesheet' class='component' type='text/css' href='/a4j_3_2_0-SNAPSHOTorg/richfaces/renderkit/html/css/extended_classes.xcss/DATB/eAHblDspFQAFnAIX.xhtml' /></head> <body><table> <tbody> <tr> <td> <form id="j_id3" name="j_id3" method="post" action="/xhtml/test.xhtml" enctype="application/x-www-form-urlencoded"> <input type="hidden" name="j_id3" value="j_id3" /> <script type="text/javascript" language="Javascript"> //<![CDATA[ function dpf(f) {var adp ]);}}};function apf(f, pvp) {var adp = new Array();f.adp = adp;var ps = pvp.split(',');for (var i = 0,ii = 0;i < ps.length;i++,ii++) {var p = document.createElement("input");p.type = "hidden";p.name = ps[i];p.value = ps[i + 1];f.appendChild(p);adp[ii] = p;i += 1;}};function jsfcljs(f, pvp, t) {apf(f, pvp);var ft = f.target;if (t) {f.target = t;}f.submit();f.target = ft;dpf(f);}; //]]> </script> <a href="#" onclick="if(typeof jsfcljs == 'function'){jsfcljs(document.getElementById('j_id3'),'j_id3:j_id4,j_id3:j_id4','');}return false">Editer</a><a href="#" onclick="if(typeof jsfcljs == 'function'){jsfcljs(document.getElementById('j_id3'),'j_id3:j_id5,j_id3:j_id5','');}return false">Pr&eacute;visualiser</a><input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="j_id12" /> </form></td> </tr> <tr> <td><label id="label1Label"> valeur</label></td> </tr> </tbody> </table> </body> </html>



Le onChange fonctionne très bien sous FF, mais pas du tout sous IE7. D'ailleurs quelque soit le JS lancé par le onChange, il ne fonctionne jamais.

Merci d'avance

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

Ishaan
Superviseur :
- Développemen.
Modérateur :
- PHP
- VB .NET
- MySQL
- Ajax
Chef de projet(s) :
- Webkomx
- Team MoteurProg

Avatar de Ishaan
Inscrit : 09/07/2004
Messages : 498
Message
#153122
Posté le 15/05/08 à 17:26
Déjà tu seras sympa d'indenter ton code stp :/
Là c'est illisible !
Et quand on indente on trouve plein d'erreurs !!!
Je comprends même pas que ça puisse marcher sous FF !
Re-vérifie ton code, et commentes-le, comme ça on pourra te donner un coup de main ;)

Au passage, un onchange, marche sans problème sous IE7, j'en ai fait des tonnes, et ça pose aucun problème !

Aussi, mets des noms de variables, fonctions compréhensibles, là ça ne fait que gêner !
__________________________
....... Curtis: RTS 3D .......
Image Image

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

helios003
Nouveau membre
Inscrit : 15/05/2008
Messages : 2
Message
#153125
Posté le 15/05/08 à 18:15
tout d'abord merci beaucoup pour la réponse.

J'ai créé un composant Jsf à partir de composant richfaces:inplaceinput.àl'occurence de changement de valeur de champs ,il y aura un traitement coté serveur.

Code source de composant , ce composant est un label qui peut etre modifié
alors ,on clique dessus sur le label un champ texte s'affiche et on peut alors entrer la nouvelle valuer de label. chaque changement de valeur est suivi par un submit de formulaire onchange="submit();" et traitement coté serveur:


<ui:composition> <c:if test="#{!empty sessionScope['edit']}"> <h:form id="#{id}form1"> <rich:inplaceInput id="#{id}Input" value="#{bundle[key]}" valueChangeListener="#{i18nBean.update}" onchange="submit();"> <f:attribute name="key" value="#{key}"/> <f:attribute name="bundleName" value="#{bundleName}"/> </rich:inplaceInput> </h:form> </c:if> <c:if test="#{empty sessionScope['edit']}"> <h:outputLabel id="#{id}Label" value="#{bundle[key]}"> <ui:insert/> </h:outputLabel> </c:if> </ui:composition>


code source de bean qui va traité l'evenement de changement de valeur .

public class I18nBean { private ILabelService labelService; /** *méthode traitant l'evenement ValueChangeEvent */ public void update(ValueChangeEvent event) { FacesContext fc = FacesContext.getCurrentInstance(); String locale = fc.getExternalContext().getRequestLocale().toString(); UIComponent component = (UIComponent) event.getSource(); String key = (String) component.getAttributes().get("key"); String bundleName = (String) component.getAttributes().get("bundleName"); if (ValidatorUtil.isNotBlank(key)) { this.getLabelService().create(key, locale, event.getNewValue().toString()); } ResourceBundle bundle = fc.getApplication().getResourceBundle(fc, bundleName); if (bundle instanceof AbstractHibernateResourceBundle) { AbstractHibernateResourceBundle hibernateResourceBundle = (AbstractHibernateResourceBundle) bundle; hibernateResourceBundle.updateLabel(key, event.getNewValue().toString()); } }


Dans ma page test je créé un composant de type composant créé:

<head> <title>Page de Test</title> </head> <body> <h:panelGrid> <h:form> <h:commandLink value="Editer" actionListener="#{sessionBean.goEditMode}"/> <h:commandLink value="Prévisualiser" actionListener="#{sessionBean.quitEditMode}"/> </h:form> <i18n:label id="label1" key="key4" bundle="#{kmji18n}" bundleName="kmji18n"/> </h:panelGrid> </body> </html>


Et le code qu j'ai posté au premier était celui de code html généré de la page de test.

En utilisant FF ,aprés changement de valeur ,il suffit de cliker par la souris sur la page ou taper entrée pour que ça valide le changement :le formulaire sera submitter et l'evenement sera traité coté serveur et la nouvelle valuer sera affichée sur la page.
En utilisant IE7 ,même en changeant la valeur rien n'est traité coté serveur,et l'ancienne valeur reste affichée.
Il n'y a pas d'appel de script relatif à onchange .alors le form n'est jamais submitté.

Merci d'avance.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM JAVASCRIPT



    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.