jQuery验证插件 - 删除元素

时间:2010-03-17 17:55:28

标签: javascript jquery validation plugins

我正在使用jQuery验证插件。在我的大多数输入类型...标签上我有class ='required'。

当我通过JavaScript提交页面时,会找到具有此类的页面上的控件。但是,有一些我不需要验证的复选框。

我尝试完全从输入标记中删除类代码,也尝试了class ='cancel',并且class ='required:false。

当执行任何这些操作时,虽然表单提交时无法找到复选框控件。

我如何仍然能够执行Request.Form并查找我的复选框对象,但同时表单提交时不对此特定控件应用验证。

谢谢。


在这里编辑。

这是我在没有“已检查”代码和三元运算符的情况下使用的。在我的输入标签中,我正在调用这样的函数......

sb.Append("     <td><input type='checkbox' id='chkFlashedCarton' name='chkFlashedCarton' " + strDisabled + " value='true' " + GetPackagingSizeTypeControlValue("chkFlashedCarton") + "  />" + crlf);

在这个函数里面,我会检查返回的True或False,就像这样。

case "chkFlashedCarton":
                strResultValue = pst.FlashedCarton.ToString();
                if (strResultValue == "True")
                {
                    strResultValue = " checked";
                }
                break;

strResultValue是返回的内容。

这有助于看到吗?谢谢。

1 个答案:

答案 0 :(得分:2)

我认为没有出现的复选框与验证问题有关。默认情况下,没有值的输入不会与表单一起回发。复选框的一种方法是每个复选框都有一个隐藏的表单字段,用于设置与复选框同名的相反值。选中复选框后回传表单时,您将获得两个值。如果未选中该复选框,您将获得默认值(来自隐藏字段)。因此,您只需要检查复选框的值是否包含非默认值,并在服务器端执行相应的操作。

<input type='checkbox' name='cb1' value='true' /> Check Me
<input type='hidden' name='cb1' value='false' />

然后,您可以省略required课程,并确保您将始终获得该复选框的某些值。

在服务器端,您可以执行以下操作:

 bool cb1Flag = false;
 if (Request.Form["cb1"].ToUpper().Contains("TRUE"))
 {
      cb1Flag = true;
 }

修改(根据您的修改)

试试这个:

sb.Append("     <td><input type='checkbox' id='chkFlashedCarton' name='chkFlashedCarton' " + strDisabled + " value='true' " );
if (pst.FlashedCarton)
{
    sb.Append( " checked='checked'" );
}
sb.Append( "  />" + crlf);
相关问题