Пользовательский интерфейс jquery DatePicker IE - валидаторы, создающие помехи - PullRequest
1 голос
/ 07 октября 2011

Приложение ASP.Net 3.5.

Отображается средство выбора даты, и когда я пытаюсь щелкнуть по дате, IE 8 (я не проверял другие версии) выдает ошибку «длина равна нулю или нет». Он помещает дату в текстовое поле, но затем выдает ошибку. Когда я нажимаю вне области выбора даты, она прячется безо всяких ошибок. ФФ ведет себя правильно.

Ошибка в следующей строке в сгенерированном файле webresource_3.axd (строка # 175). Когда я убираю все 3 валидатора, это работает нормально.

var i;
for (i = 0; i < vals.length; i++) {
    ValidatorValidate(vals[i], null, event);
}

Код страницы:

Список литературы

<scriptsrc="Scripts/jquery-1.6.2.min.js" type="text/javascript"></script>
<linkhref="Scripts/jquery.ui/jquery-ui-1.8.7.custom.css" rel="stylesheet" type="text/css" />

<scriptsrc="Scripts/jquery.ui/jquery-ui-1.8.7.custom.js" type="text/javascript"></script>

Страница HTML

<tableid="tbl_control" cellspacing="0" cellpadding="0" border="0">
    <tr>
        <td align="center">
            <input name="ctl00$ContentPlaceHolder1$dtStartDate$txtDate" type="text" value="08/05/2011" size="12" id="ctl00_ContentPlaceHolder1_dtStartDate_txtDate" class="StandardText" />
        </td>
        <td align="center">
            <span id="ctl00_ContentPlaceHolder1_dtStartDate_RegularExpressionValidator1" class="StandardText" style="color:Red;display:none;">Enter valid Date</span>
            <span id="ctl00_ContentPlaceHolder1_dtStartDate_CompareValidator1" class="StandardText" style="color:Red;display:none;">*</span>
            <span id="ctl00_ContentPlaceHolder1_dtStartDate_RequiredFieldValidator1" class="StandardText" style="color:Red;display:none;">Date should not be blank</span>
        </td>
    </tr>
</table>

javascript : ClientID и ResolveUrl используются для получения идентификатора текстового поля и пути к изображению.

<scripttype="text/javascript"> 
    $(document).ready(function() {
        $(".ui-datepicker-trigger").show();
        $('#ctl00_ContentPlaceHolder1_dtStartDate_txtDate').datepicker({showOn: 'button',
            buttonImage: '/Source/images/SmallCalendar.gif',
            buttonImageOnly: true});
    });
</script>

Я также реализовал следующее, и это приводит к той же проблеме: http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/

Если день щелчка и показ в текстовом поле совпадают, то у меня нет этой проблемы.

Спасибо

1 Ответ

0 голосов
/ 14 декабря 2012

Комментарий 4 к этому сообщению об ошибке jQuery UI указывает на 4 возможных решения этой проблемы.Они сказали, что первое: «добавить пустое событие onSelect в указатель даты» сработало для них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...