Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: Muma от 28 Марта 2006, 10:35:57

Название: Нужно в форме из одного поля - Submit после его заполнения
Отправлено: Muma от 28 Марта 2006, 10:35:57
Добрый день!

Есть форма только с одним полем (выбор даты).Сама дата  выбирается из Календаря.
Было бы очень удобно чтобы Submit срабатывал сразу после смены даты в поле но...
Такой код не работает.


     onChange="javascript:this.form.submit()" >      
   


Если руками изменяю значение поля то все нормально.
А вот если выбираю из Календаря то Submit не происходит (хотя значение поля изменилось).

Если кто знает как это сделать - подскажите pls.
Название: Нужно в форме из одного поля - Submit после его заполнения
Отправлено: unclebob от 28 Марта 2006, 12:50:03
дописать календарь чтоб при изменении даты делал submit()
 либо
если календарь передает после закрытия фокус xlo_date, то на событие onFocus проверять изменилось ли значение и если да то submit()
Название: Нужно в форме из одного поля - Submit после его заполнения
Отправлено: html_coder от 28 Марта 2006, 13:17:49
Просто наверное нужно исправить ошибку в коде и всё заработает.

В событите onChange первого input не надо писать java script: , а если это и пишется то без пробела т.е. JavaScript:.

Я делал аналогичную вещь, только я не форму сабмитил а менял location у document и всё чётко работало.

   
Muma попробуйте исправить код!
Название: Нужно в форме из одного поля - Submit после его заполнения
Отправлено: Muma от 28 Марта 2006, 15:28:44
Дело в том что выбранная дата вставляется  в SELECT который обращается к БД. Поэтому я не представляю как тут можно обойтись без Формы.
Название: Нужно в форме из одного поля - Submit после его заполнения
Отправлено: html_coder от 28 Марта 2006, 16:55:45
Цитировать
Muma:
Дело в том что выбранная дата вставляется в SELECT который обращается к БД...


где Select в коде я не вижу, наверное Вы имеете ввиду Input. без формы можно обойтись например как я и говорил вот так


onChange="document.location=\'/script.php?date=this.value\'">

Название: Нужно в форме из одного поля - Submit после его заполнения
Отправлено: Muma от 29 Марта 2006, 18:05:11
Цитировать

где Select в коде я не вижу


Это другой SELECT - который в SQL отправляет запросы к БД.

Попробывал я вариант от html_coder . В принципе он делает тоже самое (вернее результата снова не приносит).
Проблема в том, что OnChange у INPUT of \'xlo_date\' опять же не срабатывает. Руками меняю поле xlo_date - все Ok. Меняю поле из Календаря - ничего не происходит.

ЗАДАЧА : Заставить сработать OnChange  и причем только если поле поменялось чтоб запрос к БД не \'ушел\' за дату которая уже находится в поле \'xlo_date\'.
Название: Нужно в форме из одного поля - Submit после его заполнения
Отправлено: html_coder от 29 Марта 2006, 18:49:18
Цитировать
Muma:
Руками меняю поле xlo_date - все Ok.


Muma скажите, когда вы руками меняете поле в какой момент у Вас конкретно срабатывает скрипт, который обрабатывает эту дату?

Событие onChange срабатывает у текстового поля в момент, когда элемент теряет фокус, поэтому если дата вставляется из календаря, но при этом фокус остаётся в Input, то при таком раскладе по логике событие сработать не должно!
Название: Нужно в форме из одного поля - Submit после его заполнения
Отправлено: Muma от 30 Марта 2006, 13:15:00
Да все правильно.Я уже понял что только изменение руками (& мышью) вызывает событие OnChange - просто подскажите как добиться чтобы форма отправила на сервер значение INPUT . Но без отдельной кнопки \'SUBMIT\' разумеется.

Я попробовал у второго инпута после события onClick вставить
onBlur="this.form.submit()" . Форма отправляет данные на Сервер но при этом новое значение из Календаря не вставляется в  \'xlo_date\'.

... ?
Название: Нужно в форме из одного поля - Submit после его заполнения
Отправлено: html_coder от 30 Марта 2006, 14:44:01
Если можете выложите куда-нибудь ссылку на страницу, где это можно посмотреть, так уже трудно что-либо сказать...
Название: Нужно в форме из одного поля - Submit после его заполнения
Отправлено: Muma от 30 Марта 2006, 15:41:02
Цитировать

Если можете выложите куда-нибудь ссылку на страницу, где это можно посмотреть, так уже трудно что-либо сказать...



onChange="java script:this.form.submit()" >
onBlur="this.form.submit()" >