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

Langage PHP Discussion :

<Select... et document.form.submit qui ne fonctionne pas, please help :s [PHP 4]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 172
    Points : 72
    Points
    72
    Par défaut <Select... et document.form.submit qui ne fonctionne pas, please help :s
    Bonjour et bonne année a tous et a toutes !

    J'ai un soucis dans mon code Php. J'utilise Firefox v3.0.3.

    J'ai une liste de choix, et quand je change de valeur normalement la page devrait se recharger mais là non j'ai une erreur.
    Je ne vois pas d'où l'erreur provient et pourquoi il y a erreur.
    Si quelqu'un pourrait m'éclairer, voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <form name="formRechNumSol" action="" method="post" onSubmit="javascript: return verifNumSol();">
    ...
    <select name="numSol" onChange="document.formRechNumSol.submit();">
    	<option value="0">Choix du Num&eacute;ro de Solution :</option>
    <?
    	echo $listeOf;
    ?>
    </select>
    ...
    </form>
    $listeOf contient les autres "option" !

    Et voici le message d'erreur que j'ai dans Firebug :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    document.formRechNumSol.submit is not a function
    [Break on this error] document.formRechNumSol.submit();
    Si quelqu'un avait un conseil pour régler mon soucis ce serait sympa

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Personnellement, vu que tu veux soumettre le formulaire dans lequel se trouve la balise, j'utiliserais simplement this
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="numSol" onChange="this.submit();">
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 172
    Points : 72
    Points
    72
    Par défaut
    Bonjour, j'ai testé ta solution et j'ai la même erreur !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.submit is not a function
    Ci-dessous le code de mon formulaire, si ça peut aider :
    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
    67
    68
    69
    70
    71
     
    <form name="formRechNumSol" action="index0.php" method="post" onSubmit="javascript: return verifNumSol();">
    <table width="750" align="center" border="0">
      <tr>
        <td colspan="2"><input type="text" value="<? echo $_SESSION['prenom_u']." ".$_SESSION['nom_u']; ?>" readonly="" /></td>
      </tr>
      <tr>
        <td valign="top" width="50%">
          <fieldset><legend>Information OF : </legend>   
          <table align="left" border="0" class="tabInfoOf" valign="top">
            <tr>
              <td width="45%" class="tabInfoOf">Nom Produit F :</td>
              <td><input type="text" name="nomProd" value="<? if (isset($ligne_info_jde)) echo $ligne_info_jde->nom_prod_jde; ?>" readonly="" /></td>
            </tr>
            <tr>
              <td>N° Lot : </td>
              <td><input type="text" name="numLot" value="<? if (isset($ligne_info_jde)) echo $ligne_info_jde->num_lot_jde; ?>" readonly="" /></td>
            </tr>
            <tr>
              <td>Date : </td>
              <td><input type="text" name="date" value="<? if (isset($ligne_info_jde)) echo $ligne_info_jde->date_jde; ?>" readonly="" /></td>
            </tr>
            <tr>
              <td>N° Solution : </td>
              <td><input type="text" name="numSol" value="<? if (isset($ligne_info_jde)) echo $ligne_info_jde->num_sol_jde; ?>" readonly="" /></td>
            </tr>
            <tr>
              <td>Code JDE : </td>
              <td><input type="text" name="codeJDE" value="<? if (isset($ligne_info_jde)) echo $ligne_info_jde->code_jde; ?>" readonly="" /></td>
            </tr>
          </table>
          </fieldset>
        </td>
        <td valign="top">
          <fieldset><legend>Recherche : </legend>
          <table width="100%" align="center" border="0">
            <tr>
              <td valign="top">
                <input type="text" name="RechNumSol" value="<? if (isset($_POST['RechNumSol'])) echo $_POST['RechNumSol']; else echo "N° Solution"; ?>" onFocus="javascript: vide();" onBlur="javascript: rempli();" /><input type="checkbox" name="JDEok" <? if (isset($_POST['JDEok'])) echo "checked"; ?> /><font style="font-size: 10px">JDE</font><br />
                <input type="submit" name="rechercher" id="submit" value="Rechercher" />
              </td>
            </tr>
          </table>
          </fieldset>
          <br />
    <?
    if (isset($listeOf) && $listeOf != "") 
    {
    ?>
          <fieldset><legend>R&eacute;sultat : </legend>
          <table width="100%" height="100%" align="center" border="0">
            <tr>
              <td>
                <select name="numSol" onChange="this.submit();">
                  <option value="0">Choix du Num&eacute;ro de Solution :</option>
    <?
    echo $listeOf;
    ?>
                </select>
                <input type="submit" name="rechercher" id="submit" value="Rechercher" />
              </td>
    <?
    }
    ?>
            </tr>
          </table>
          </fieldset>
        </td>
      </tr>
    </table>
    </form>

  4. #4
    Membre confirmé Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Points : 455
    Points
    455
    Par défaut
    Ceci doit fonctionner :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="numSol" onchange="this.form.submit();">

  5. #5
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 172
    Points : 72
    Points
    72
    Par défaut
    Ca à l'air de marcher.

    Merci beaucoup

  6. #6
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    172
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 172
    Points : 72
    Points
    72
    Par défaut
    En fait ça marche pas top.
    Pour que ça fonctionne avec le "<select name="numSol" onchange="this.form.submit();">" il a fallut que je créé 2 formulaires. Si j'en laisse un comme dans le code que j'ai fourni précédemment ça ne marche pas et j'ai la même erreur

    Par contre quand j'ai créé un autre formulaire ça a marché :
    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
    67
    68
    69
    70
    71
    72
    <table width="750" align="center" border="0">
      <tr>
        <td colspan="2"><input type="text" value="<? echo $_SESSION['prenom_u']." ".$_SESSION['nom_u']; ?>" readonly="" /></td>
      </tr>
      <tr>
        <td valign="top" width="50%">
        <form name="formRechNumSol" action="index0.php" method="post" onSubmit="javascript: return verifNumSol();">
          <fieldset><legend>Information OF : </legend>   
          <table align="left" border="0" class="tabInfoOf" valign="top">
            <tr>
              <td width="45%" class="tabInfoOf">Nom Produit F :</td>
              <td><input type="text" name="nomProd" value="<? if (isset($ligne_info_jde)) echo $ligne_info_jde->nom_prod_jde; ?>" readonly="" /></td>
            </tr>
            <tr>
              <td>N° Lot : </td>
              <td><input type="text" name="numLot" value="<? if (isset($ligne_info_jde)) echo $ligne_info_jde->num_lot_jde; ?>" readonly="" /></td>
            </tr>
            <tr>
              <td>Date : </td>
              <td><input type="text" name="date" value="<? if (isset($ligne_info_jde)) echo $ligne_info_jde->date_jde; ?>" readonly="" /></td>
            </tr>
            <tr>
              <td>N° Solution : </td>
              <td><input type="text" name="numSol" value="<? if (isset($ligne_info_jde)) echo $ligne_info_jde->num_sol_jde; ?>" readonly="" /></td>
            </tr>
            <tr>
              <td>Code JDE : </td>
              <td><input type="text" name="codeJDE" value="<? if (isset($ligne_info_jde)) echo $ligne_info_jde->code_jde; ?>" readonly="" /></td>
            </tr>
          </table>
          </fieldset>
    	</td>
        <td valign="top">
          <fieldset><legend>Recherche : </legend>
          <table width="100%" align="center" border="0">
            <tr>
              <td valign="top">
                <input type="text" name="RechNumSol" value="<? if (isset($_POST['RechNumSol'])) echo $_POST['RechNumSol']; else echo "N° Solution"; ?>" onFocus="javascript: vide();" onBlur="javascript: rempli();" /><input type="checkbox" name="JDEok" <? if (isset($_POST['JDEok'])) echo "checked"; ?> /><font style="font-size: 10px">JDE</font><br />
                <input type="submit" name="rechercher" id="submit" value="Rechercher" />
              </td>
            </tr>
          </table>
          </fieldset>
          <br />
    	</form>
         <form name="form2" action="index0.php" method="post">
    <?
    if (isset($listeOf) && $listeOf != "") 
    {
    ?>
          <fieldset><legend>R&eacute;sultat : </legend>
          <table width="100%" height="100%" align="center" border="0">
            <tr>
              <td>
                <select name="numSol" onChange="this.submit();">
                  <option value="0">Choix du Num&eacute;ro de Solution :</option>
    <?
    echo $listeOf;
    ?>
                </select>
                <input type="submit" name="rechercher" id="submit" value="Rechercher" />
              </td>
    <?
    }
    ?>
            </tr>
          </table>
          </fieldset>
         </form>
        </td>
      </tr>
    </table>
    J'ai mis en couleur les 2 différents formulaires. Pourquoi de cette manière cela fonctionne et pas quand il y a qu'un seul formulaire ?

  7. #7
    Membre confirmé Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Points : 455
    Points
    455
    Par défaut
    Dans ton 2ème formulaire t'as remis this.submit() et non this.form.submit()
    Le bouton submit n'est pas obligatoire..

    Ton premier formulaire doit fonctionner avec le bouton submit.

  8. #8
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Bonjour,
    Supprime les :
    de tes boutons ...
    Et dans les balises "select" mets bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="numSol" onChange="this.form.submit();">
    comme te l'as indiqué d-Rek

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

Discussions similaires

  1. onchange document.forms.submit() et les ancres
    Par The Molo dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 21/08/2012, 14h01
  2. bouton "submit" qui ne fonctionne pas
    Par brice97431 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 14/03/2012, 08h41
  3. Comment sysnchronier 2 document.form.submit
    Par marti dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 07/07/2006, 10h24
  4. myform.submit() qui ne passe pas sous IE
    Par narnou dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 20/03/2006, 14h42
  5. [VBA-E]Select case qui ne fonctionne pas :(
    Par DonKnacki dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 31/01/2006, 12h13

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