IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Fonction JavaScript sous IE


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut Fonction JavaScript sous IE
    Bonsoir,

    j'ai besoin de votre aide pour une fonction JavaScript ne fonctionnant pas sous IE (mais qui fonctionne très bien sous Firefox 3.4 et 4.0).
    La fonction :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    echo '<script type="text/javascript">';
    				echo 'function lancer(elt)
    				{
    					if(elt.value == "Modifier")
    					{
    						document.forms[0].action="modifLivre.php";
    						document.forms[0].submit();
    					}
    					else
    					{
    						document.forms[0].action="supprimerLivre.php";
    						document.forms[0].submit();
    					}
    				}
    				';
    			echo '</script>';
     
    		echo '<p><input type="button" name="action" value="Modifier" onClick ="javascript:lancer(this)"/></p>';
    		echo '<p><input type="button" name="action" value="Supprimer" onClick ="javascript:lancer(this)"/></p>';
    		echo '</div>';

    Donc en résumé : 1 form, 2 choix pour l'utilisateur.
    Le message d'erreur sous IE :
    "Cet objet ne gère pas cette propriété ou cette méthode" et m'indique la ligne 70 comme étant fausse (je n'ai bien évidement pas de ligne 70, ça serait trop simple sinon...)

    Vous voyez le problème ? Un composant à activer/désactiver sous IE ?

    Merci !

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonsoir,
    tu joues avec le feu et tu te brûles
    tes INPUT on le même NAME et en plus il s'appellent action, donc comme IE sait récupérer un objet en faisant directement un document.NAME comment veux tu qu'il s'y retrouve entre une action a mettre sur une FORM et la référence à des éléments DOM.

    Change le NAME de tes INPUT.

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Et au passage, merci de poster le code JavaScript généré, pas le code PHP qui ne sert à rien !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, 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
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    Bonsoir,
    tu joues avec le feu et tu te brûles
    tes INPUT on le même NAME et en plus il s'appellent action, donc comme IE sait récupérer un objet en faisant directement un document.NAME comment veux tu qu'il s'y retrouve entre une action a mettre sur une FORM et la référence à des éléments DOM.

    Change le NAME de tes INPUT.
    D'accord merci, n'importe quel nom fera l'affaire ? Ou un que j'appelle action et l'autre button par exemple ?

    @Bovino : ou vois tu le code JS généré ? Merci

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Citation Envoyé par feldi Voir le message
    D'accord merci, n'importe quel nom fera l'affaire ? Ou un que j'appelle action et l'autre button par exemple ?
    N'importe quel nom fait l'affaire, exemple btn_action, pour les 2 et à toi de récupérer et tester coté serveur, mais pas sûr d'ailleurs que tu aies besoin d'un name puisque tu envoies vers 2 destinations différentes.
    Citation Envoyé par feldi Voir le message
    @Bovino : ou vois tu le code JS généré ? Merci
    dans le navigateur, click droit -> afficher la source ou un truc pas loin.

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Hum, y a un truc que j'arrive pas à saisir la.

    Le code source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf_8" />
    		<meta http-equiv="X-UA-Compatible" content="IE=edge">
    		<link rel="stylesheet" media="screen" type="text/css" href="style.css" />
    		<title>Gestion livres, films et jeux</title>
        </head>
    	<body>
    		<br/>
    <div id="imageMenu" align=center>
    <a href="index.php"><img src="mediatheque_espaceadulte.jpg" alt="Livres et films" /></a>
    </div>
     
    <h1 align=center>Gestion des livres, films et jeux </h1>
     
    <div id="menu">
    	<ul>
    		<li><h4> Espace Visualisation &nbsp&nbsp&nbsp&nbsp&nbsp</h4>
    			<ul>
    				<li><a href="livre.php">Livres</a></li>
    				<li><a href="film.php">Films</a></li>
    				<li><a href="jeux.php">Jeux</a></li>
    			</ul>
    		</li>
    		&nbsp&nbsp&nbsp&nbsp&nbsp		<li><h4> Espace Ajout &nbsp&nbsp&nbsp&nbsp&nbsp</h4>
    			<ul>
    				<li><a href="AjoutLivre.php">Livres</a></li>
    				<li><a href="AjoutFilm.php">Films</a></li>
    				<li><a href="AjoutJeux.php">Jeux</a></li>
    			</ul>
    		</li>
    		&nbsp&nbsp&nbsp&nbsp&nbsp		<li><h4> Espace Edition/Suppression</h4>
    			<ul>
    				<li><a href="EditLivre.php">Livres</a></li>
    				<li><a href="EditFilm.php">Films</a></li>
    				<li><a href="EditJeux.php">Jeux</a></li>
    			</ul>
    		</li>
    	</ul>
    	<br/>
    	<br/>
    </div>
    <br/><form method="get"><div align=center><select name="nomLivre" size="1" ><option value=""><Option value="bleu">bleu</option></select><br/><br/><br/><script type="text/javascript">function lancer(elt)
    				{
    					if(elt.value == "Modifier")
    					{
    						document.forms[0].action="modifLivre.php";
    						document.forms[0].submit();
    					}
    					else
    					{
    						document.forms[0].action="supprimerLivre.php";
    						document.forms[0].submit();
    					}
    				}
    				</script><p><input type="button" name="action" value="Modifier" onClick ="javascript:lancer(this)"/></p><p><input type="button" name="action" value="Supprimer" onClick ="javascript:lancer(this)"/></p></div></form>	</body>
    </html>
    Et toujours la même erreur. J'ai bien mis un nom différent à chaque bouton...
    Quand tu parles de "récupérer et tester coté serveur", tu entends quoi par la ?
    Merci


    Edit : Par acquis de conscience j'ai remplacé le type "button" en type "submit" mais ça ne change rien (normal je pense, vu que la fonction JS est censée faire une redirection)

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    quand je parles de nom ou de name il s'agit de l'attribut name de tes INPUT type=button
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="button" name="btn_action" value="Modifier"  onclick ="lancer(this)"/>
    <input type="button" name="btn_action" value="Supprimer" onclick ="lancer(this)"/>
    si tu n'utilises pas l'information du bouton qui a été cliqué coté serveur alors n'en mets pas
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="button" value="Modifier"  onclick ="lancer(this)"/>
    <input type="button" value="Supprimer" onclick ="lancer(this)"/>

  8. #8
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Merci, ça fonctionne au poil !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. compatibilité fonction javascript sous internet explorer
    Par frboyer dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/04/2009, 11h45
  2. fonctions javascript ne fonctionnent pas sous Safari 3.1.*
    Par marion5515 dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 19/05/2008, 13h04
  3. fonction javascript fonctionnant sous firefox mais pas sous IE
    Par calitom dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/03/2007, 12h56
  4. Fonction javascript qui marche qu'une fois sous Firefox
    Par ns_deux dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/08/2006, 10h38
  5. [Debutant] Menu sous IE et fonction Javascript
    Par Pepito dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/11/2005, 17h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo