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été (terrain, bâ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és de la commission scolaire ou proprié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é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élé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° 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élé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° 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élé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é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 êtes employé 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é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 êtes propritéraire d'un ou de plusieurs immeubles situés sur notre territoire (MRC de Memphrémagog, MRC des Sources et MRC du Val-Saint-Franç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été (terrain, bâ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 êtes propriétaire, vous devez fournir le n° de matricule de l'immeuble pour lequel un compte de taxe scolaire est émis. Ce numéro de 23 chiffres se trouve en haut, à droite de votre compte de taxe scolaire. (ex. 45008-0000-00-0000-00000000)<br/> <strong><span class="infoBulle" title="Sachez que le numéro de matricule que nous utilisons est le même que celui qui se trouve sur votre compte de taxes municipales.">Inscrire un n° 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été.<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.
精彩评论