[RESOLU] Input checkbox checked : no action !

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 : [RESOLU] Input checkbox checked : no action !

Re: Input checkbox checked : no action !

par Herve_be » 02 juil. 2014, 18:44

Merci beaucoup sadeq, ça fonctionne !

Re: Input checkbox checked : no action !

par sadeq » 02 juil. 2014, 18:31

Bonjour,

Juste une astuce pour palier au problème : Utiliser un code javascript sur click qui remet rejeter la modification du check:
<input type="checkbox" name="MailList[]" checked="checked" title="Toujours mail" onclick="return false" />
En effet, l'attribut DISABLED désactive le champ et empêche l'envoi de sa valeur dans le postage du formulaire.
En principe, tu dois utiliser l'attribut READONLY qui verrouille la modification de la valeur d'un champ et permet l'envoi de sa valeur dans le postage du formulaire. Mais READONLY ne fonctionne pas pour le chekbox.

Re: Input checkbox checked : no action !

par Elie » 02 juil. 2014, 18:26

Utilise readonly="readonly" au lieu de disabled="disabled".
Comme son nom l'indique, disabled le rend invisible alors que readonly empeche qu'on le modifie.

Input checkbox checked : no action !

par Herve_be » 02 juil. 2014, 15:30

Bonjour,
Dans un formulaire j'ai une liste de membres auxquels on choisit d'envoyer un mail ... ou pas.
Je génère donc (en php) une série de checkboxes qu'on peut cocher ... ou pas

Code : Tout sélectionner

<form method='post' action='SendMail.php'> <input type = 'checkbox' name = 'MailList[]'
Je récupère ensuite dans SendMail.php via

Code : Tout sélectionner

foreach($_POST['MailList'] as $check) ...
La particularité est que certains membres ne peuvent jamais recevoir de mail, et d'autres (administrateurs du site) doivent toujours le recevoir.
Selon le cas j'ajoute donc à l'input

Code : Tout sélectionner

disabled='disabled' title='Ne souhaite pas recevoir de mail' disabled='disabled' checked='checked' title='Toujours mail'
Le problème est que ces derniers, bien que checked par défaut, ne sont pas activés.
Comment faire pour que le module SendMail.php reçoive une valeur pour tous les checkboxes checked même ceux qui sont disabled ?
Merci d'avance pour votre aide.