2010-03-17 4 views
1

Я использую плагин проверки jQuery. На большинстве моих типов ввода ... теги у меня есть класс = 'required'.jQuery validation plugin - удаляющие элементы

Когда я отправляю страницу, используя JavaScript, элементы управления на странице, имеющей этот класс, находятся. Однако есть несколько флажков, которые мне не нужно проверять.

Я попытался полностью удалить код класса из входного тега, также попробовал класс = 'cancel' и class = 'required: false.

Выполнение любой из этих операций, хотя при отправке формы она не может найти элемент управления флажком.

Как я все еще сохраняю возможность делать Request.Form и находить свой объект флажка, но в то же время, когда поданные формы не применяют проверку этого элемента управления.

спасибо.


Редактировать здесь.

Это то, что я использую без «проверенного» кода и тройного оператора. В моем входном теге я звоню функции, как это ...

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

Внутри этой функции где я проверить Истинный или Ложный возвращается, как это.

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

strResultValue - это то, что возвращается обратно.

Помогает ли это увидеть? Спасибо.

ответ

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); 
+0

tvanfosson, это точно Мне нужна помощь. Большое вам спасибо за ваше время в ответе и показе примера, очень полезно. Благодарю. – d3020

+0

tvanfosson, могу я попросить вас или других здесь, следить за этим? Поскольку они устанавливали значение = 'true', как бы я начал динамически устанавливать это значение? Другими словами, когда страница загружается, мне нужно ее проверить или нет, исходя из условия. В других элементах управления, где значение уже не установлено в true, я делаю это как - value = '"+ CallMyFunction() +"'. Как это работает, но поскольку значение уже установлено в true? – d3020

+0

Предположим, что вы используете ASP.NET (так как вы говорите о Request.Form). В мире MVC вы должны основывать его на модели - и, вероятно, использовать HtmlHelper - '<% = Html.CheckboxFor (model => model.CBProperty)%>'. В стандартном приложении WebForms вы можете использовать привязку (если в контексте связанного элемента управления) или выставить свойство на странице и получить значение таким образом « ' – tvanfosson

Смежные вопросы