плагин проверки jQuery - удаление элементов - PullRequest
1 голос
/ 17 марта 2010

Я использую плагин проверки 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);

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

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

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

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

1 Ответ

2 голосов
/ 17 марта 2010

Я не думаю, что флажок не отображается, связан с проблемой проверки. По умолчанию входные данные без значений не отправляются обратно с формой. Одним из способов решения этой проблемы является наличие скрытого поля формы для каждого флажка, который устанавливает противоположное значение с тем же именем, что и флажок. Когда форма будет отправлена ​​обратно с установленным флажком, вы получите оба значения. Если флажок не установлен, вы получите значение по умолчанию (из скрытого поля). Таким образом, вам нужно только проверить, содержит ли значение для флажка значение, отличное от значения по умолчанию, и действовать соответствующим образом на стороне сервера.

<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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...