Probleme function valid(){ radio et checkbox

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme function valid(){ radio et checkbox

par Invité » 22 avr. 2008, 13:55

Je pense savoir que c'est dans la function valid(){ qu'il faut insérer une var pour tester, mais j'ai pas trouvé pour une chekbox ou des radios.

Probleme function valid(){ radio et checkbox

par Akaton » 22 avr. 2008, 12:58

Bonjour tout le monde,

j'ai un probleme de champ obligatoire sur deux boutons radios et une case checkbox pour un formulaire.
J'arrive pour les champs nom, prenom ... mais pour ceux la je bug, j'ai regardé sur le net mais rien à faire.

Code :
[php]
PHP:
require("connexion.php");
require("constantes.php");
$civilite="";
$nom="";
$prenom="";
$email="";
$cp="";
$date_naissance="";
$partenaire;if(!empty($_POST["civilite"]) && !empty($_POST["nom"]) && !empty($_POST["prenom"]) && !empty($_POST["email"]) && !empty($_POST["cp"]) && !empty($_POST["date_naissance"]) && !empty($_POST["partenaire"]) ){
$civilite=addslashes($_POST["civilite"]);
$nom=addslashes($_POST["nom"]);
$prenom=addslashes($_POST["prenom"]);
$email=addslashes($_POST["email"]);
$cp=addslashes($_POST["cp"]);
$date_naissance=addslashes($_POST["date_naissance"]);
$partenaire= empty($_POST["partenaire"])?0:$_POST["partenaire"];
$db = connexion();
$query = "SELECT id FROM formulaire where email = upper(trim('$email'))";
$res = mysql_query($query); if(mysql_num_rows($res)==0){
$query = "INSERT INTO formulaire(civilite,nom,prenom,email,cp,date_naissance,partenaire, site_id)";
$query .= " VALUES(upper('$civilite'), upper('$nom'),upper('$prenom'),upper(trim('$email')),upper('$cp'),'$date_naissance',$parte¬naire, 1)";
mysql_query($query);
close_connexion($db);

$entetes.='From: ''."\r\n";
$sujet = 'Confirmation d\'inscription';
$body = "Bonjour $civilite $nom $prenom,\n\n";
$body.= "Votre inscription s'est déroulée avec succès.\n";
$body.= "Vous recevrez dans quelques jours votre première offre.\n\n";
$body.= "Merci de ne pas répondre à ce message: votre courrier ne serait pas traité.\n";
$body.= "Pour tout contact, veuillez utiliser l'adresse suivante: ."; mail($email, $sujet, $body, $entetes); header("Location: ./invite.php?result=".REGISTERED_SUCCESSFULLY); exit(); } else{ close_connexion(¬$db); header("Location: ./invite.php?result=".ALLREADY_REGISTERED); exit(); }}?>
[/php]
[code]
<script src="fonction.js" language="JavaScript"></script>
<script language="javascript">
function valid(){
var retour = true;
var msg = "Veuillez renseigner le(s) champ(s) : \n";
var date_regexp=/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/;
var cp_regexp=/^[0-9]{5}$/;
var mail_reg=/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[¬a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;
if(getElem('civilite').value.length == 0){ msg += "- Civilité\n"; retour = false; }
if(getElem('nom').value.length == 0){ msg += "- Nom\n"; retour = false; }
if(getElem('prenom').value.length == 0){ msg += "- Prénom\n"; retour = false; }
if(!getElem('email').value.match(mail_reg)){ msg += "- email\n"; retour = false; }
if( !getElem('cp').value.match(cp_regexp)){ msg += "- CP\n"; retour = false; }
if (getElem('reglement').value.length == 0){ msg += "- reglement\n"; retour = false; }
if( !getElem('date_naissance').value.match(date_regexp) ){ msg += "- Date de naissance\n"; retour = false; } if(!retour) alert(msg); return retour;}function getElem(id){ return document.getElementById(id);}
</script>

<input type="checkbox" name="reglement" id="reglement" value="1" />

<label>
<input type="radio" name="partenaire" value="1" />
</label>
oui
<label>
<input type="radio" name="partenaire" value="0" />
</label>
non
[/code]

Donc pour résumé il y a une case reglement à cocher, et un OUI - NON et j'aimerai les rendre obligatoire.

Je vous remercie de votre aide,

Akaton :)