Библиотека MooTools DatePicker: «значение» пусто, если форма отправлена - PullRequest
1 голос
/ 03 ноября 2011

Я пытаюсь использовать библиотеку DatePicker для полей даты, но при отправке формы значение поля ввода пусто.
Я скопировал код отсюда: http://www.monkeyphysics.com/mootools/script/2/datepicker

<script>           
        window.addEvent('load', function() {
        new DatePicker('.demo_vista', { pickerClass: 'datepicker_vista' });
        new DatePicker('.demo_dashboard', { pickerClass: 'datepicker_dashboard' });
        new DatePicker('.demo_jqui', { pickerClass: 'datepicker_jqui', positionOffset: { x: 0, y: 5 } });
        new DatePicker('.demo', { positionOffset: { x: 0, y: 5 }});

         });
</script>
    <li>*DATE : <input name='date' type='text' value='' class='date demo_vista'  /></li>

Это мой сайт: http://iconceptsolutions.com.my/projects/grandevest/online-product-registration/

Ответы [ 3 ]

2 голосов
/ 03 ноября 2011

Смысл этой библиотеки в том, что поле, которое вы пишете в свой HTML-документ, не совпадает с тем, что отображается в браузере.

Когда вы создаете объект DatePicker, он принимает input fieldsкоторый соответствует его первому параметру, и для каждого из них он создает еще один input field, который фактически получает даты, выбранные пользователем и отображаемые браузером.

Итак, чтобы получить искомое значение,вы должны получить ссылку на исходный input field, а затем вызвать функцию MooTools getNext(), чтобы вы могли получить требуемое значение:

Итак, для этого HTML:

<input name='date' type='text' value='' class='date demo' id='dateField' />

вы можете получить требуемое значение с помощью этого кода:

$('dateField').getNext().get('value')

К которому можно обращаться, например, когда пользователь нажимает кнопку отправки.Если вам нужно значение в PHP-скрипте, который будет обрабатывать форму, то с помощью строки MooTools выше вы можете установить значение оригинала input field, а затем отправить его в PHP.


ОБНОВЛЕНИЕ

Я настроил этот JsFiddle для тестирования.

0 голосов
/ 03 ноября 2011

Попробуйте это:

<input id="datepicker" name='date' type='text'/>

Функция javascript new datepicker создает 'datepicker' как объект DOM с идентификатором datepicker.Вам нужен идентификатор в теге, чтобы указать это.Вам вообще не нужно это значение, вы можете установить значение по умолчанию в самом скрипте datepicker в заголовке.Это также место, где вы выбираете тему, а не теги HTML.

0 голосов
/ 03 ноября 2011

Не уверен, но мне интересно, если ваш

value=''

в

<li>*DATE : <input name='date' type='text' value='' class='date demo_vista' /></li>

перезаписывает календарь?

Что произойдет, если вы удалите его?

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