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 qui ne s'execute pas


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut fonction javascript qui ne s'execute pas
    Au secours

    Je débute en Javascript et je tente d'appeler une fonction sur onclick, mais rien a faire la fonction ne s'exécute pas.

    voici l'appel de la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <br><div align=\"center\"><input name=\"valid\" type=\"button\" value=\"Valider Modification\" onclick=\"javascript:verif();\">
    <input name=\"button\" type=\"button\" onClick=\"javascript:RAS(1);javascript:RAS(2);javascript:RAS(3);javascript:RAS(4);javascript:RAS(5);\" value=\"Effacer\"></div>
    </form>";
    et voici la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function verif() {
    document.write ("passe ici");
    var reg=new RegExp ("/^[a-z0-9.-]/");
    if (regexp.test(document.f_ajout.nomdns.value))
    {
    	alert("La valeur du champ Nom DNS n'est pas valide !")";
    }
    }
    Je souligne que l'autre fonction javascript (RAS(n)) fonctionne très bien

    Merci de m'aider car là je ne sais plus quoi faire!!

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    le code HTML que tu postes est visiblement récupéré de ton code PHP est "nettoyé" à la main.
    Mais cela masque souvent les erreurs.

    Merci de reposter le véritable code généré : celui récupéré en faisant "afficher le code source de la page" dans ton navigateur ...

    EDIT : et merci de poster tout le code concerné (ici on ne voit ni nomdns, ni ton tag <form> ....)

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    javasc ript est inutile sur les événements
    write ne marche qu'avant que la page ne charge.
    Je te conseilles d'utiliser firebug pour le débuggage (surement du à d'autres erreurs)

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Voici donc tout le code

    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
    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    <HEAD>
    <LINK REL="stylesheet" HREF="../style.css" TYPE="TEXT/CSS">
    <script language="javascript">
    function RAS(n)
    	{
    document.f_ajout.elements[n].value="";
    	}
    </script>
    <script language="javascript">	
    function verif() {
    document.write ("passe ici");
    var reg=new RegExp ("/^[a-z0-9.-]/");
    if (regexp.test(document.f_ajout.nomdns.value))
    {
    	alert("La valeur du champ Nom DNS n'est pas valide !")";
     
    }
    </script>
    </head>
    <?
    include ('../functions.php');
     
    mysql_connection();    
    $result = mysql_query("SELECT * FROM $dmz WHERE adresse = '$adr'");
    $row = mysql_fetch_row($result);
     
    //LAN
    if ($dmz == "lan")
    {
    $form="<form name=\"f_ajout\" method=\"post\" action=\"../lecture/lecture.php?dmz=$dmz&action2=update&action=view\">
    <table border=\"1\">
    <tr><td>Adresse Ip :</td><td><input name=\"adresse\" type=\"text\" value=\"$row[0]\" readonly></td></tr><br>
    <td>Nom :</td><td><input name=\"nom\" type=\"text\" value=\"$row[1]\"></td></tr><br>
    <td>Domaine :</td><td><input name=\"domaine\" type=\"text\" value=\"$row[3]\"></td></tr><br>
    <tr><td>OS :</td><td><input type=\"text\" name=\"os\" value=\"$row[4]\"></td></tr><br>
    <td >Utilisateur :</td><td><input type=\"text\" name=\"util\" value=\"$row[2]\"></td></tr>
    <td >Nom DNS :</td><td><input type=\"text\" name=\"nomdns\" value=\"$row[5]\"></td></tr></table>
    <br><span class=\"texte\">Insérer au DNS local <input type=checkbox name=inserer value=inserer></span>
    <br><div align=\"center\"><input name=\"valid\" type=\"button\" value=\"Valider Modification\" onclick=\"javascript:verif();\">
    <input name=\"button\" type=\"button\" onClick=\"javascript:RAS(1);javascript:RAS(2);javascript:RAS(3);javascript:RAS(4);javascript:RAS(5);\" value=\"Effacer\"></div>
    </form>";
    echo $form;
    }
     
    //DMZs & SYNCHRO
    if (($dmz == "dmz_soget") || ($dmz == "dmz_client") || ($dmz == "synchro"))
    {
    $form="<form name=\"f_ajout\" method=\"post\" action=\"../lecture/lecture.php?dmz=$dmz&action2=update&action=view\">
    <table border=\"1\">
    <tr><td>Adresse Ip :</td><td><input name=\"adresse\" type=\"text\" value=\"$row[0]\" readonly></td></tr><br>
    <td>Nom :</td><td><input name=\"nom\" type=\"text\" value=\"$row[1]\"></td></tr><br>
    <tr><td>OS :</td><td><input type=\"text\" name=\"os\" value=\"$row[2]\"></td></tr>
    <tr><td>Nom DNS :</td><td><input type=\"text\" name=\"nomdns\" value=\"$row[3]\"></td></tr></table>
    <br><span class=\"texte\">Insérer au DNS local <input type=checkbox name=inserer value=inserer></span>
    <br><div align=\"center\"><input name=\"valid\" type=\"submit\" value=\"Valider Modification\">
    <input name=\"button\" type=\"button\" OnClick=\"javascript:RAS(1);javascript:RAS(2);avascript:RAS(3);\" value=\"Effacer\"></div>
    </form>";
    echo $form;
    }
     
    //OFFICIELS
    if (($dmz == "officiel_soget") || ($dmz == "officiel_mci"))
    {
    $form="<form name=\"f_ajout\" method=\"post\" action=\"../lecture/lecture.php?dmz=$dmz&action2=update&action=view\">
    <table border=\"1\">
    <tr><td>Adresse Ip :</td><td><input name=\"adresse\" type=\"text\" value=\"$row[0]\" readonly></td></tr><br>
    <td>nom :</td><td><input name=\"nom\" type=\"text\" value=\"$row[1]\"></td></tr><br>
    <tr><td>Translation :</td><td><input type=\"text\" name=\"translation\" value=\"$row[2]\"></td></tr><br>
    <tr><td>Subnet :</td><td><input type=\"text\" name=\"subnet\" value=\"$row[3]\"></td></tr></table>
    <br><span class=\"texte\">Insérer au DNS local <input type=checkbox name=inserer value=inserer></span>
    <br><div align=\"center\"><input name=\"valid\" type=\"submit\" value=\"Valider Modification\">
    <input name=\"button\" type=\"button\" onClick=\"javascript:RAS(1);javascript:RAS(2);javascript:RAS(3);\" value=\"Effacer\"></div>
    </form>";
    echo $form;
    }
     
     
    //Réseaux Clients
    if ( $dmz == "clients")
    {
    $form="<form name=\"f_ajout\" method=\"post\" action=\"../lecture/lecture.php?dmz=$dmz&action2=update&action=view\">
    <table border=\"1\">
    <tr><td>Adresse Ip :</td><td><input name=\"adresse\" type=\"text\" value=\"".long2ip($row[0])."\" readonly></td></tr><br>
    <td>Nom :</td><td><input name=\"nom\" type=\"text\" value=\"$row[1]\"></td></tr><br>
    <tr><td>Description :</td><td><input type=\"text\" name=\"description\" value=\"$row[2]\"></td></tr>
    <tr><td>Nom DNS :</td><td><input type=\"text\" name=\"nomdns\" value=\"$row[3]\"></td></tr></table>
    <br><span class=\"texte\">Insérer au DNS local <input type=checkbox name=inserer value=inserer></span>
    <br><div align=\"center\"><input name=\"valid\" type=\"submit\" value=\"Valider Modification\">
    <input name=\"button\" type=\"button\" OnClick=\"javascript:RAS(1);javascript:RAS(2);;javascript:RAS(3);\" value=\"Effacer\"></div>
    </form>";
    echo $form;
    }
     
    //ADMIN Switchs
    if (($dmz == "Switchs") || ($dmz == "dmz_save"))
    {
    $form="<form name=\"f_ajout\" method=\"post\" action=\"../lecture/lecture.php?dmz=$dmz&action2=update&action=view\">
    <table border=\"1\">
    <tr><td>Adresse Ip :</td><td><input name=\"adresse\" type=\"text\" value=\"$row[0]\" readonly></td></tr><br>
    <td>Nom :</td><td><input name=\"nom\" type=\"text\" value=\"$row[1]\"></td></tr><br>
    <tr><td>Commentaires :</td><td><input type=\"text\" name=\"os\" value=\"$row[2]\"></td></tr>
    <tr><td>Nom DNS :</td><td><input type=\"text\" name=\"nomdns\" value=\"$row[3]\"></td></tr></table>
    <br><span class=\"texte\">Insérer au DNS local <input type=checkbox name=inserer value=inserer></span>
    <br><div align=\"center\"><input name=\"valid\" type=\"submit\" value=\"Valider Modification\">
    <input name=\"button\" type=\"button\" OnClick=\"javascript:RAS(1);javascript:RAS(2);;javascript:RAS(3);\" value=\"Effacer\"></div>
    </form>";
    echo $form;
    }

  5. #5
    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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Pas très agréable à lire ton code... Tu pourrais faire un effort
    De plus
    Citation Envoyé par E.Bzz
    Merci de reposter le véritable code généré : celui récupéré en faisant "afficher le code source de la page" dans ton navigateur ...
    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

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Là il y a bien le <form> ..... et même plusieurs
    Lequel on prend ?

    C'est visiblement bien tout ce code qui est nécessaire, mais il faut le code généré (pas de PHP) : encore une fois, récupère le à partir de ton navigateur
    EDIT au cas où :
    sous IE => clic droit + Afficher la source
    sous FF => clic droit + Code source de la page

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Donc me re'vla avec le bon code (j'espère) :

    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
    <HEAD>
    <LINK REL="stylesheet" HREF="../style.css" TYPE="TEXT/CSS">
    <script language="javascript">
    function RAS(n)
    	{
    document.f_ajout.elements[n].value="";
    	}
    </script>
    <script language="javascript">	
    function verif() {
    document.write ("passe ici");
    var reg=new RegExp ("/^[a-z0-9.-]/");
    if (regexp.test(document.f_ajout.nomdns.value))
    {
    	alert("La valeur du champ Nom DNS n'est pas valide !")";
     
    }
    </script>
    </head>
     <form name="f_ajout" method="post" action="../lecture/lecture.php?dmz=lan&action2=update&action=view">
    <table border="1">
    <tr><td>Adresse Ip :</td><td><input name="adresse" type="text" value="xxx.xxx.x.xx" readonly></td></tr><br>
    <td>Nom :</td><td><input name="nom" type="text" value=""></td></tr><br>
    <td>Domaine :</td><td><input name="domaine" type="text" value=""></td></tr><br>
    <tr><td>OS :</td><td><input type="text" name="os" value=""></td></tr><br>
     
    <td >Utilisateur :</td><td><input type="text" name="util" value=""></td></tr>
    <td >Nom DNS :</td><td><input type="text" name="nomdns" value=""></td></tr></table>
    <br><span class="texte">Insérer au DNS local <input type=checkbox name=inserer value=inserer></span>
    <br><div align="center"><input name="valid" type="button" value="Valider Modification" onclick="javascript:verif();">
    <input name="button" type="button" onClick="javascript:RAS(1);javascript:RAS(2);javascript:RAS(3);javascript:RAS(4);javascript:RAS(5);" value="Effacer"></div>
    </form>

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    265
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 265
    Points : 284
    Points
    284
    Par défaut
    a premiere vue tu as 2 problemes de syntaxe :

    1) parenthese de la fonction verif() non fermee
    2) tu as 1 guillemet en trop sur ton alert("La valeur du champ Nom DNS n'est pas valide !")";

    Je conseillerai d'utiliser firebug pour deceler les erreurs comme celle ci

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci bcp de votre aide (au passage je viens d'installer firebug)!!! Maintenant la fonction est bien appelée.

    Un problème demeure cependant, j'effectue un test sur un input (nomdns) dont la valeur ne semble pas encore exister (alors qu'elle est saisie au moment de l'appel de la fonction.

    Je sais c'est sans doute trivial, mais je ne connais pas bien non plus le PHP.

    Merci de votre indulgence

  10. #10
    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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Et aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onClick="javascript:RAS(1);javascript:RAS(2);javascript:RAS(3);javascript:RAS(4);javascript:RAS(5);"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="RAS(1);RAS(2);RAS(3);RAS(4);RAS(5);"
    javascript: correspond à une pseudo-url, il sert pour permettre aux attributs HTML attendant une URL de simuler une URL et d'exécuter du code JavaScript. Mais les attributs d'événements attendent du code JavaScript, donc pas la peine de le préciser... surtout autant de fois ! Imagine une URL du type :
    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

  11. #11
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par Neferet Voir le message
    Donc me re'vla avec le bon code (j'espère)


    Si en plus dans les prochains tu utilises le bouton "#" du petit éditeur pour ajouter les balises [CODE] ça sera vraiment

    Sinon, +1 pour la remarque de jln13 (sauf que c'est une accolade "}" non fermée )

    Mais d'autres modifs seraient bienvenues pour un fonctionnement correcte de ta page :
    pas de tags <html></html> ni <body></body>
    effectivement tu utilises un form en POST : les paramètres ne doivent pas être ajoutés à l'url de action : ils seront constitués à partir des objets du formulaire.
    enfin, même si rien à voir, j'ai effacé l'IP en dur dans ton code : ça se fait pas sur un forum

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  12. #12
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bon, pour l'accolade j'avais corrigé de moi même (si, si!)

    Il m'est donc impossible de vérifier la validité d'une valeur saisie dans cette page par une fonction javascript ?

Discussions similaires

  1. Code javascript qui ne s'execute pas sous IE
    Par sheira dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/05/2011, 16h49
  2. Réponses: 0
    Dernier message: 04/10/2010, 10h47
  3. [DOM] fonction javascript qui ne se lance pas
    Par line86 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/08/2008, 14h48
  4. Code dans la fonction GUI_Opening qui ne s'execute pas
    Par AsmaHaj dans le forum Interfaces Graphiques
    Réponses: 10
    Dernier message: 16/05/2007, 19h31
  5. Fonction Javascript qui ne s'exécute pas
    Par bubuche007 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 25/01/2007, 11h17

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