开发者

Radio button value not in $_POST

I have a form with multiple controls, tey are all passed with $_POST and treated with PHP.

BUT, 2 fields doesn't get passed with $_POST. I used print_r ($_POST); and this field is not showing. The input is nouvellePropriete

<label id="propriete">Vous nous informez de ce changement d'adresse parce que:</label> 
<input type="radio" id="nouvellePropriete_1" name="nouvellePropriete" value="o" /> 
<span style="font-size:0.87em;"> vous avez acquis une nouvelle propri&eacute;t&eacute; (terrain, b&acirc;timent) ?</span>
<input type="radio" id="nouvellePropriete_2" name="nouvellePropriete" value="n" /> 
<span style="font-size:0.87em;"> vous souhaitez simplement changer votre adresse de correspondance ?</span>

Here is the whole code for my form:

<h2> Changement d'adresse</h2>
<h3> Employ&eacute;s de la commission scolaire ou propri&eacute;taires </h3>
<center><img src="images/logo.jpg"/></center><br/>
<div id="contact">
    <div id="message"></div>
    <form name="AdrForm" id="AdrForm" method="post" action="traitement.php">
        <h4> Veuillez remplir ce formulaire pour nous faire part de votre changement d'adresse </h4><br/>
        <fieldset class="login">
            <legend>Informations personnelles</legend>
            <div>
                <label for="pnom">Pr&eacute;nom</label>
                <input id="pnom" name="pnom" tabindex="1"/>
                <script type="text/javascript">
                    var f1 = new LiveValidation('pnom');
                    f1.add(Validate.Presence);
                </script> 
            </div>  
            <div>
                <label for="nom">Nom</label>
                <input id="nom" name="nom" tabindex="2"/>
                <script type="text/javascript">
                    var f2 = new LiveValidation('nom');
                    f2.add(Validate.Presence);
                </script> 
            </div>
            <div>
                <label for="telephoneJour">T&eacute;l&eacute;phone (pour vous joindre le jour)</label>
                <input id="telephoneJour" name="telephoneJour" tabindex="3"/>
                <script type="text/javascript">
                    var f3 = new LiveValidation('telephoneJour');
                    f3.add(Validate.Presence);
                    f3.add( Validate.Length, { minimum: 10, maximum: 12 } );
                </script> 
            </div>
            <div>   
                <label for="posteTel">Poste (optionel)</label>
                <input style="width:50px;" id="posteTel" name="posteTel" tabindex="4"/>
            </div>
            <div>
                <label id="Lblcourriel" for="courriel">Courriel (optionel)</label>
                <input id="courriel" name="courriel" tabindex="5"/>
                <script type="text/javascript">
                    var f13 = new LiveValidation('courriel');
                    f13.add(Validate.Email);
                </script>
            </div>
        </fieldset>
        <fieldset class="contact">
            <legend>Adresse actuelle</legend>
            <div>
                <label for="adresseAct1">N&deg; civique et rue</label>
                <input id="adresseAct1" name="adresseAct1" tabindex="6"/>
                <script type="text/javascript">
                    var f4 = new LiveValidation('adresseAct1');
                    f4.add(Validate.Presence);
                </script> 
            </div>
            <div>
                <label for="villeAct">Ville</label>
                <input id="villeAct" name="villeAct" tabindex="7"/>
                <script type="text/javascript">
                    var f5 = new LiveValidation('villeAct');
                    f5.add(Validate.Presence);
                </script> 
            </div>
            <div>
                <label for="codePostalAct">Code postal</label>
                <input id="codePostalAct" name="codePostalAct" tabindex="8"/>
                <script type="text/javascript">
                    var f6 = new LiveValidation('codePostalAct');
                    f6.add(Validate.Presence);
                    f6.add( Validate.Format, { pattern: /^[a-zA-Z]{1}[0-9]{1}[a-zA-Z]{1}(\-| |){1}[0-9]{1}[a-zA-Z]{1}[0-9]{1}$/i } );
                </script>
            </div>
            <div>
                <label for="telephoneAct">T&eacute;l&eacute;phone</label>
                <input id="telephoneAct" name="telephoneAct" tabindex="9"/>
                <script type="text/javascript">
                    var f7 = new LiveValidation('telephoneAct');
                    f7.add(Validate.Presence);
                    f7.add( Validate.Length, { minimum: 10, maximum: 12 } );
                </script> 
            </div>
        </fieldset>
        <fieldset class="contact">  
            <legend>Nouvelle adresse</legend>   
            <div>
                <label for="adresseNew1">N&deg; civique et rue</label>
                <input id="adresseNew1" name="adresseNew1" tabindex="10"/>
                <script type="text/javascript">
                    var f8 = new LiveValidation('adresseNew1');
                    f8.add(Validate.Presence);
                </script>
            </div>
            <div>
                <label for="villeNew">Ville</label>
                <input id="villeNew" name="villeNew" tabindex="11"/>
                <script type="text/javascript">
                    var f9 = new LiveValidation('villeNew');
                    f9.add(Validate.Presence);
                </script>
            </div>
            <div>
                <label for="codePostalNew">Code postal</label>
                <input id="codePostalNew" name="codePostalNew" tabindex="12"/>
                <script type="text/javascript">
                    var f10 = new LiveValidation('codePostalNew');
                    f10.add(Validate.Presence);
                    f10.add( Validate.Format, { pattern: /^[a-zA-Z]{1}[0-9]{1}[a-zA-Z]{1}(\-| |){1}[0-9]{1}[a-zA-Z]{1}[0-9]{1}$/i } );
                </script>
            </div>
            <div>
                <label for="telephoneNew">T&eacute;l&eacute;phone</label>
                <input id="telephoneNew" name="telephoneNew" tabindex="13"/>
                <script type="text/javascript">
                    var f11 = new LiveValidation('telephoneNew');
                    f11.add(Validate.Presence);
                    f11.add( Validate.Length, { minimum: 10, maximum: 12 } );
                </script> 
            </div>      
            <div>
                <label style="width:25em" for="dateNew">Date d'entr&eacute;e en vigueur de la nouvelle adresse</label>
                <input style="width:100px;" id="dateNew" name="dateNew" type="textbox" tabindex="14"/>                  
            </div>
        </fieldset>
        <fieldset>  
            <legend>Statut</legend>
            <div>
                <label style="width:35em;text-align:left" for="employeCSS">Vous &ecirc;tes employ&eacute; de la Commission scolaire des Sommets?</label>
                <input type="checkbox" id="employeCSS" name="employeCSS" onclick="CSSChecked()"/><br/>  
            </div>
            <div id="css">
                <div>
                    <label id="LblMatricule" style="visibility:hidden;" >Num&eacute;ro de matricule</label>
                    <input id="matricule" style="visibility:hidden;" name="matricule"/>
                </div>
                <div>
                    <label id="LblcourrielCSS" style="visibility:hidden;" >Adresse courriel CSS</label>
                    <input id="courrielCSS" style="visibility:hidden;" name="courrielCSS"/> 
                </div>
            </div>

            <div>
                <label style="margin-top:1em;width:39em;text-align:left" id="LblProprio" for="proprio">Vous &ecirc;tes proprit&eacute;raire d'un ou de plusieurs immeubles situ&eacute;s sur notre territoire (MRC de Memphr&eacute;magog, MRC des Sources et MRC du Val-Saint-Fran&ccedil;ois) ? </label>
                <input style="margin-top:1em;" type="checkbox" id="proprio" name="proprio" onclick="proprioChecked();" />
                <div id="blocProprio">
                    <br/><label style="margin-top:1em;width:45em;text-align:left">Vous nous informez de ce changement d'adresse parce que:</label><br/>
                    <input style="margin-left:15px;margin-top:1em;width:10px;" type="radio" id="nouvellePropriete_1" name="nouvellePropriete" value="o" /> <span style="font-size:0.87em;"> vous avez acquis une nouvelle propri&eacute;t&eacute; (terrain, b&acirc;timent) ?</span><br/>
                    <input style="margin-left:15px;width:10px;" type="radio" id="nouvellePropriete_2" name="nouvellePropriete" value="n" /> <span style="font-size:0.87em;">开发者_如何学C; vous souhaitez simplement changer votre adresse de correspondance ?</span><br/><br/>

                    <label style="text-align:left;margin-top:1em;width:44em;visibility:hidden" id="LblnumImmeuble" for="numImmeuble">Pour chaque immeuble dont vous &ecirc;tes propri&eacute;taire, vous devez fournir le n&deg; de matricule de l'immeuble pour lequel un compte de taxe scolaire est &eacute;mis. Ce num&eacute;ro de 23 chiffres se trouve en haut, &agrave; droite de votre compte de taxe scolaire. (ex. 45008-0000-00-0000-00000000)<br/> <strong><span class="infoBulle" title="Sachez que le num&eacute;ro de matricule que nous utilisons est le m&ecirc;me que celui qui se trouve sur votre compte de taxes municipales.">Inscrire un n&deg; de matricule par ligne.<img src="images/question-mark.jpg"></span></strong></label><br/>
                    <textarea style="margin-bottom:15px;margin-top:5px;margin-left:300px;width:250px;visibility:hidden" id="numImmeuble" name="numImmeuble" rows="3" cols=""></textarea>        
                </div>              
            </div>          
        </fieldset> 
        <div class="comment">
            <label for="commentaire">Commentaire (optionel)</label>
            <textarea id="commentaire" name="commentaire" class="" rows="3" cols=""></textarea>
        </div>
        <div> 
            <center>
                <a class="button" href="#" onclick="$('#dialog-nom').html($('input#nom').val());
                $('#dialog-pnom').html($('input#pnom').val());
                $('#dialog-pnom').html($('input#pnom').val());
                $('#dialog-adresseAct1').html($('input#adresseAct1').val());
                $('#dialog-villeAct').html($('input#villeAct').val());
                $('#dialog-codePostalAct').html($('input#codePostalAct').val());
                $('#dialog-telephoneAct').html($('input#telephoneAct').val());
                $('#dialog-adresseNew1').html($('input#adresseNew1').val());
                $('#dialog-villeNew').html($('input#villeNew').val());
                $('#dialog-codePostalNew').html($('input#codePostalNew').val());
                $('#dialog-telephoneNew').html($('input#telephoneNew').val());
                $('#dialog-dateNew').html($('input#dateNew').val());
                (document.getElementById('nouvellePropriete_1').checked) ? $('#dialog-nouvellePropriete_1').html('<br/>Il s\'agit de l\'acquisition d\'une nouvelle propri&eacute;t&eacute;.<br/>') : $('#dialog-nouvellePropriete_1').html('');
                (document.getElementById('nouvellePropriete_2').checked) ? $('#dialog-nouvellePropriete_2').html('<br/>Il s\'agit simplement d\'un changement d\'adresse de correspondance.<br/>') : $('#dialog-nouvellePropriete_2').html('');
                (document.getElementById('employeCSS').checked) ? $('#dialog-employeCSS').html('- au Service des ressources humaines.<br/>') : $('#dialog-employeCSS').html('');
                (document.getElementById('proprio').checked) ? $('#dialog-proprio').html('- au Service de la taxe scolaire.<br/>') : $('#dialog-proprio').html('');
                $('#dialog').dialog('open');" />
                <img src="images/button.png"/>Envoyer                                                           
                </a>
            </center>
       </div>      
 </form>

Any idea ?


This is kinda tricky. If the radio button is toggled, it appears in $_POST. If it isn't toggled, it does not get submitted and therefore isn't in $_POST. The same thing is true with checkboxes.


Aside from what was already answered, I would recommend using 'checked="checked"' attribute on one of your radio buttons. That way you will be able to debug more easily. It is also HTML 4.01 and XHTML 1.0 compliant.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜