2010-07-17 9 views
0

J'ai une forme que les utilisateurs remplissent Selon le niveau d'accès qu'ils ont, je veux empêcher une partie de ma forme étant rempli dansformulaires HTML - Empêcher certains utilisateurs contrôle une case à cocher

Si j'ai un.. zone de texte J'utilise ce onfocus='blur()' avec un peu de php pour vérifier les privilèges des utilisateurs. Mais cela ne fonctionne pas pour une case à cocher. Quelqu'un peut-il suggérer comment je peux empêcher un utilisateur de cocher une case qui l'a toujours visible pour référence?

Toute aide serait appréciée

Merci

Répondre

4

Donnez-lui un attribut disabled. Comme vous le faites actuellement, utilisez PHP pour vérifier les privilèges de l'utilisateur et ajoutez uniquement l'attribut si l'utilisateur ne peut pas utiliser la case à cocher. Mise à jour mon exemple avec certains pseudo-PHP pour illustrer:

<?php if (user can access this field) : ?> 
<input type="checkbox" name="some-field" value="some-value" /> 
<?php else: ?> 
<input type="checkbox" name="some-field" value="some-value" disabled="disabled" /> 
<?php endif; ?> 
+0

J'allais le faire (ajouter un exemple PHP). Eh bien, je suppose que vous gagnez alors; vous avez répondu en premier. +1 :) – Cam

+0

@incrediman: heh, merci. Pour être plus précis, je suis * deuxième * tandis que la réponse de Pierre est le * premier *;) – BoltClock

+2

Gardez également à l'esprit que la désactivation ne signifie pas que vous le recevez comme non vérifié sur submit. Assurez-vous également de valider les droits de l'utilisateur lorsque vous validez/traitez le formulaire. – Maerlyn

1

Essayez ceci:

<input type="checkbox" name="mycheckbox" disabled="disabled"> Disabled Option 
1

Si vous avez besoin d'être désactivé que pour certains utilisateurs, faire quelque chose comme ceci:

<input type="checkbox" name="useronly" <?php if(!$useraccessgranted) { echo 'disabled="disabled"'; ?> /> 

ou quelque chose à cet effet. Cela ne devrait pas être difficile