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 :

script qui s'applique pas au bon input.


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    387
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 387
    Par défaut script qui s'applique pas au bon input.
    Bonjour à tous,


    Voilà afin de faciliter au maximum l'inscription à la newsletter j'ai créer un petite boxe dans le header où chacun rentre son email et click et qui fonctionne nikel.

    mais le problème est que j'ai un script qui vérifie la validité de l'adresse mail, et ce script me fout le bazar dès que j'ai un autre forme sur la page.


    Exemple je suis sur la page de recherche, je rentre le produit rechercher, je click, et il me dis que l'e-mail est pas bon.

    script place au niveau du header:
    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
    60
    61
    62
    63
    64
    65
    66
    <script language="JavaScript1.2" type="text/javascript">
            function verify(form)
            {
               var passed = false;
            var blnRetval, intAtSign, intDot, intComma, intSpace, intLastDot, intDomain, intStrLen;
            if (form.Email){
                           intAtSign=form.Email.value.indexOf("@");
                            intDot=form.Email.value.indexOf(".",intAtSign);
                            intComma=form.Email.value.indexOf(",");
                            intSpace=form.Email.value.indexOf(" ");
                            intLastDot=form.Email.value.lastIndexOf(".");
                            intDomain=intDot-intAtSign;
                            intStrLen=form.Email.value.length;
                    // *** CHECK FOR BLANK EMAIL VALUE
                       if (form.Email.value == "" )
                       {
                    alert("You have not entered an email address.");
                    form.Email.focus();
                    passed = false;
                    }
                    // **** CHECK FOR THE  @ SIGN?
                    else if (intAtSign == -1)
                    {
     
                    alert("Your email address is missing the \"@\".");
                            form.Email.focus();
                    passed = false;
     
                    }
                    // **** Check for commas ****
     
                    else if (intComma != -1)
                    {
                    alert("Email address cannot contain a comma.");
                    form.Email.focus();
                    passed = false;
                    }
     
                    // **** Check for a space ****
     
                    else if (intSpace != -1)
                    {
                    alert("Email address cannot contain spaces.");
                    form.Email.focus();
                    passed = false;
                    }
     
                    // **** Check for char between the @ and dot, chars between dots, and at least 1 char after the last dot ****
     
                    else if ((intDot <= 2) || (intDomain <= 1)  || (intStrLen-(intLastDot+1) < 2))
                    {
                    alert("Please enter a valid Email address.\n" + form.Email.value + " is invalid.");
                    form.Email.focus();
                    passed = false;
                    }
                    else {
                            passed = true;
                    }
            }
            else    {
                    passed = true;
            }
            return passed;
      }
     
    </script>
    dans le corps du header:
    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
    		<?php
            if ((tep_session_is_registered('customer_id'))||($_COOKIE["deja_inscrit"] == "oui")||(basename($PHP_SELF) == "login.php")||(basename($PHP_SELF) == "contact_us.php")||(basename($PHP_SELF) == "tell_a_friend_website.php")||(basename($PHP_SELF) == "newsletters.php")||(basename($PHP_SELF) == "surmesure.php")||(basename($PHP_SELF) == "contact_us.php"))
     
            { 
     
    echo '<font color="#bb0000"><b>'.PHRASE_HEADER1.'</b><img src="images/pixel_trans.gif" border="0" width="10" height="2">';
    } else {
    <form NAME="newsletter" ACTION="<? echo tep_href_link(FILENAME_NEWSLETTERS_SUBSCRIBE, '', 'NONSSL'); ?>" METHOD="post" onSubmit="return verify(this);"> */?>
          <input type="hidden" name="submitted" value="true">
          <input type="hidden" name="email_type" value="HTML">
          <table cellspacing=0 cellpadding=0 border=0 class="topBarTitle">
            <tr>
    	  <td><P CLASS="main"><B><? echo 'E-mail'; ?></P></td>
    	  <td>&nbsp;</td>
    	  <td><input type="text" name="Email" value="@" style="color: white; background-color: black;  text-align: center; font-size: 10px; font-style: bold; height:18;" size="10"></td>
    	  <td align="right" width="30"><?php echo '<input type="image" border="0" src="includes/languages/'.$language.'/images/buttons/button_ok.gif" name="submit">'. tep_draw_separator('pixel_trans.gif', '10', '1');
     
     ?>
    Voyez vous un moyen pour que la vérification de l'adresse email ne s'applique que lorsque l'on click sur le bouton ok?.

    P.S: Désolé si je poste pas au bon endroit, mais ma page est en php, avec un input en html, et un script en Js

  2. #2
    Expert éminent

    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
    Par défaut
    Bonjour,
    Citation Envoyé par gotcha5832 Voir le message
    Exemple je suis sur la page de recherche, je rentre le produit rechercher, je click, et il me dis que l'e-mail est pas bon.
    dans ce cas tu n'as pas rentré d'email et quand tu soumets le form ("je click") la vérification d'email le détecte.

    Où est le problème ?

    Il suffit peut être de faire ce contrôle sur le onchange le l'input email, non ?

    A+

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2004
    Messages
    387
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 387
    Par défaut
    Nan c'est bon
    En faite il manquait un Alalal
    Merci quand même

Discussions similaires

  1. [PHP-JS] Script qui ne finit pas
    Par kabkab dans le forum Langage
    Réponses: 4
    Dernier message: 08/06/2007, 13h20
  2. [MySQL] requete sql qui ne donne pas le bon array
    Par easyjava dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 02/11/2006, 14h41
  3. script qui ne marche pas chez firefox
    Par phpaide dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 24/05/2006, 13h20
  4. [Mail] Pb de script qui ne fonctionne pas
    Par Yael dans le forum Langage
    Réponses: 5
    Dernier message: 14/02/2006, 09h27
  5. Script qui marche mais pas elegant[newbie]
    Par billybob2006 dans le forum Langage
    Réponses: 4
    Dernier message: 21/10/2005, 12h25

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