73 votes

Le formulaire de sérialisation ne fonctionne pas dans jQuery

Pouvez-vous s'il vous plaît jeter un oeil et m'aider à comprendre où je me trompe avec ça? Voici le lien jsfiddle : http://jsfiddle.net/Hitman666/QcEkj/1/ mais aussi voici ce code

HTML :

 <form action="#" id="gamesForm">
    <p>                                                        
        <input id="gName" type="text" class="medium" />
        <span class="notification information">Game name</span>
    </p>

    <p>                            
        <span class="notification information">Enabled:</span>
        <input id="gEnabled" type="checkbox" />              
    </p>

    <br />
    <!--Additional data for extra type-->
    <div id="extraAdditionalData" class="hidden">                            
        <p>
            <input id="rRacers" type="text" class="medium" />
            <span class="notification information">Racers</span>
        </p>

        <p>
            <input id="rVideoSet" type="text" class="medium" />
            <span class="notification information">Video set</span>
        </p>                                                         
     </div>                
</form>

<a href="#" id="saveConfiguration" class="graybuttonBig">Save everything!</a> 

JavaScript :

 $(document).ready(function(){
    $("#saveConfiguration").click(function(){
        alert( $("form").serialize() );   
    });
});  

Tout ce que je reçois est une chaîne vide.

9voto

whoknows Points 177

Veuillez ajouter un name à votre champ de saisie :

 <input type='text' name='give_some_name' />

Dans ce violon, j'ai ajouté un name et cela fonctionne bien.

1voto

ssi-anik Points 775

Je pense que le problème est que vous essayez de sélectionner un formulaire comme

 $("form");

Mais cela équivaut à

 getElementsByTagName("form");

Cela renvoie un tableau d'objets. Ainsi, à la place, vous pouvez utiliser le sélecteur #id ou utiliser l'index pour accéder au formulaire. J'espère que cela t'aides.

0voto

pranav shinde Points 362

Tout d'abord, vous devez donner un attribut de nom à tous les contrôles d'entrée comme les zones de texte, etc. Ensuite, veuillez vérifier si vos identifiants sont en conflit ou non, j'avais le même identifiant pour le formulaire et la seule section où était mon problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X