2009-05-28 7 views
1

J'ai une page html avec un formulaire qui a des cases à cocher. J'ai besoin, en utilisant VbScript ASP, pour m'assurer qu'une case est cochée. Comment je fais ça? est ici la case à cocher lui-même:VbScript ASP: case à cocher

Dim terms 
terms = Request.Form("terms") 
+0

Est-ce classique ASP ou ASP.NET? En d'autres termes, est-ce VBScript ou VB.NET? – Tomalak

Répondre

5

Si la case est cochée, sa valeur sera envoyée dans les données de formulaire, sinon aucun élément pour le champ est envoyé dans les données de formulaire. Si vous ne spécifiez pas de valeur pour le checkox, la valeur par défaut "on" est utilisée.

Ainsi, pour déterminer si la case est cochée, comparer à la valeur:

If terms = "on" Then 
    ... 
End If 
+0

Cela, et (terms not = "") fonctionne bien. – Raithlin

+0

La comparaison avec une chaîne vide est un peu fragile, car la valeur n'est pas une chaîne vide si la case n'est pas cochée. La valeur est vide (non affectée) dans ce cas. – Guffa

+0

Cela a fait l'affaire. Merci! –

1

La meilleure façon est de donner explicitement votre case à cocher une valeur:

<input type="checkbox" name="terms" value="Yes"> 

Ensuite, vous pouvez vérifier si le champ contient la valeur que vous avez définie:

<% 
Dim terms 
terms = Request.Form("terms") 
If terms = "Yes" Then 
    '...your code here 
End If 
%> 

Si vous ne connaissez pas la valeur de la case à cocher (ou si vous n'avez aucun contrôle sur sa valeur), vous pouvez rechercher une chaîne vide. Oui, théoriquement, la forme retourne la valeur spéciale 'Empty', pas une chaîne de longueur nulle, pour un champ non coché (ou inexistant); mais en pratique, Request.Form convertit Empty en une chaîne vide de toute façon.

<input type="checkbox" name="terms"> 
<% 
Dim terms 
terms = Request.Form("terms") 
If terms <> "" Then 
    '...checkbox was checked 
End If 
%>