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 :

fonctions javascript ne s'éxécute pas


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 7
    Par défaut fonctions javascript ne s'éxécute pas
    Bonjour,
    J'ai un soucis avec mes fonctions javascript. J'utilise un formulaire simple avec des zones de texte et des boutons radios. J'aimerais vérifier à l'aide de 2 fonctions javascript le contenu des zones de textes remplies par l'utilisateur mais elles ne se déclenchent pas.

    Voici le code html du formulaire :
    Code html : 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
     
    <table  width="100%" border="0">
    	<tr height=275><td align=center valign=center>
    		<form name="form1" method="post" onsubmit="return envoyer1(nomcli,prenomcli,code,choix)" action="genpdf.php" >
    		<table border=0>
    			<tr><td colspan="2" align=center><b><h3>POWEO</h3></b></td></tr>
    			<tr><td colspan="2" align=center><h4>Génération détiquettes au format PDF</h4><br><br></td></tr>
    			<tr><td align=right>Nom du client&nbsp;&nbsp;</td><td><input type=text name=nomcli size="10" maxlength="30"> </td></tr>
    			<tr><td align=right>Pr&eacute;nom du client&nbsp;&nbsp;<br><br></td><td><input type=text name=prenomcli size="10" maxlength="30"><br><br></td></tr>
    			<tr><td align=right>Code retour&nbsp;&nbsp;<br><br><br></td><td><input type=text name=code size="10" maxlength="6"><br><br><br></td></tr>
    			<tr><td colspan="2" align=center>
    				<input type=radio name=choix value=Panne> Panne
    				<input type=radio name=choix value=Résiliation> Résiliation
    			<br><br></td></tr>
    			<tr><td colspan="2" align=center>
    				<input type=submit name=generer_pdf value="Générer le PDF">
    			</td></tr>
    		</table>
    		</form>
    	</td></tr>
    </table>

    Et voici le code javascript, j'utilise un fichier fonctions.js :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <HTML>
    <HEAD>
    <script type='text/javascript' src="fonctions.js"></script>
    </HEAD>
    <BODY>

    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
     
    function envoyer1(nomcli,prenomcli,code,choix)
    {
    	if(nom_cli.value=="")
    	{
    		alert("Merci de renseigner le nom du client");
    		return false
    	}
    	else if(prenom_cli.value=="")
    	{
    		alert("Merci de renseigner le prénom du client");
    		return false
    	}
    	else if(code.value.length!=6)
    	{
    		alert("Le code retour doit etre compos\351 de 6 caract\350res");
    		return false
    	}
    	else if(choix[0].status=="" || choix[1].status=="")
    	{
    		alert("Veuillez s\351lectionner panne ou r\351siliation, svp");
    		return false
    	}
    	else
    		return true
    	}
    }

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    As-tu une erreur Javascript ?

    Le chemin vers ton fichier JS est-il bon ?

    Est-ce que tu as une alert si tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function envoyer1(nomcli,prenomcli,code,choix)
    {
       alert("coucou");
       return false;
    }

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 7
    Par défaut
    Alors ça fonctionne quand je retire le "return true", je ne comprend pas trop pourquoi mais bon... Merci
    En revanche, la partie de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(choix[0].status=="" || choix[1].status=="")
    ne fonctionne pas

    Est ce que c'est bien écrit?

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Je vois plusieurs erreurs dans ton code.

    A l'appel de ta fonction tu as :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="return envoyer1(nomcli,prenomcli,code,choix)"
    or tu devrais avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onsubmit="return envoyer1('nomcli','prenomcli','code','choix')"
    parce que ce ne sont pas des variables mais des chaînes à ce moment là.

    Ensuite à la déclaration de ta fonction du as :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function envoyer1(nomcli,prenomcli,code,choix)
    et ensuite dans ton code tu utilises nom_cli et non pas nomcli (pareil pour prenom).

    Enfin, dans toutes tes conditions, tu essaies de trouver la value dune chaîne de caractères (passée en paramètre) alors que tu devrais avoir des objets.

    Donc en début de fonction fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function envoyer1(nomcli,prenomcli,codecli,choixcli){
     
       var nom = document.getElementById(nomcli);
       var prenom = document.getElementById(prenomcli);
       var code = document.getElementById(code);
       var choix = document.getElementsByName(choixcli);
    puis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(nom.value=="")
    /* */
    else if(prenom.value=="")
    /* */
    else if(code.value.length!=6)
    /* */
    else if(!choix[0].checked && !choix[1].checked)
    /* */

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 7
    Par défaut
    Merci pour ces informations
    j'ai une autre fonction que j'appelle avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onBlur="verification(this.value)"
    mais je n'arrive pas à savoir où placer cet appel de fonction ?
    Lorsque je le met dans un ca ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function verification(entree)
    {
    	var seulement_ceci="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZéèà_-êù";
    	for (var i=0; i < entree.length ; i++)
    	{
    		if((seulement_ceci.indexOf(entree.charAt(i))<0)
    		{
    			alert("Le champ ne doit pas contenir de caract\350res spéciaux comme :" + entree.charAt(i));
    			return false;
    		}
    	}
    	return true;
    }

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Utilise plutôt les RegExp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function verification(entree){
       var seulement_ceci = /^[A-Za-zéèà_-êù]$/g;
     
       if(!seulement_ceci.test(entree)){
          alert("Pas de caractère spécial");
          return false;
       }
     
       return true;
    }

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 7
    Par défaut
    c'est pas mal comme solution mais dès qu'on clique ailleurs que sur la case le message s'affiche
    c'est un peu prise de tête

  8. #8
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Pas si tu mets l'évènement onblur.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 7
    Par défaut
    merci pour ton aide...
    j'aurai une autre question :
    j'aimerai, suite à ce formulaire, créer un PDF, j'ai réussi mais lorsqu'il y a une erreur j'aimerai rediriger ma page et revenir sur le formulaire
    Voici le code :
    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
    <?php
    $nomcli=$_POST["nomcli"];
    $prenomcli=$_POST["prenomcli"];
    $code=$_POST["code"];
    $choix=$_POST["choix"];
     
    $exp="Exp\351diteur :  " . $nomcli . " " . $prenomcli;
    $codret="Num\351ro Retour :  " . $code;
    $motif="Motif :  " . $choix;
     
    require('fpdf.php');
     
    if($_POST["nomcli"]=="" OR $_POST["prenomcli"]=="" OR $_POST["code"]=="" OR $_POST["choix"]=="")
    {
    	?>	
    	<script type="text/javascript">
    	alert("Certains champs n'ont pas \351t\351 compl\351t\351s");
    	location.href = 'index.html';</script>
    	<?
    }
    else
    {
    	$pdf=new FPDF();
    	$pdf->AddPage();
    	$pdf->SetFont('Arial','B',10);
    	$pdf->Cell(0, 0, "------------------------------------------------------------------------------------------");
    	$pdf->ln(2); 
    	$pdf->MultiCell(0, 6, "$exp\n$codret\n$motif", 1, "L", 0);
    	$pdf->setX(80); 
    	$pdf->MultiCell(0, 6, "CROSS LOG (Poweo)\nAdresse\nVille", 1, "L", 20);
    	$pdf->ln(2); 
    	$pdf->Cell(0, 0, "------------------------------------------------------------------------------------------");
    	$pdf->Output();
    }
    ?>
    Je passe par méthode POST mais lorsque le javascript s'éxécute j'ai une page blanche alors que j'aimerai rester sur le formulaire sans avoir une page blanche de chargement
    Je sais pas si c'est assez clair J'espère

  10. #10
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Ben au moment où tu appelles ton Javascript, il n'y a pas de formulaire, vu que tu es sur une autre page.

    Je pense que tu vas devoir te contenter de la page blanche.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 7
    Par défaut
    hum d'accord
    bon ben tant pis alors je laisse comme ça
    merci bien pour ton aide

Discussions similaires

  1. Fonction javascript qui ne fonctionne pas avec IE
    Par voyageurdumonde dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 02/07/2012, 21h55
  2. fonction javascript qui ne marche pas
    Par roy-mustang dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 30/03/2009, 17h05
  3. Fonction javascript qui ne fonctionne pas sous IE
    Par jules_diedhiou dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/03/2009, 20h10
  4. Fonction javascript qui n'effectue pas les actions demandées
    Par Joe-La-Boule dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 27/06/2008, 15h27
  5. [JavaScript]fonction javaScript ne s'executant pas
    Par lilou77 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/10/2006, 09h46

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