Автор Тема: Нужно в форме из одного поля - Submit после его заполнения  (Прочитано 6871 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Muma

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 16
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Добрый день!

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


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


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

Если кто знает как это сделать - подскажите pls.

    Оффлайн unclebob

    • Завсегдатай
    • Пользователь
    • **
    • Сообщений: 96
    • +0/-0
    • 0
      • Просмотр профиля
      • http://
    дописать календарь чтоб при изменении даты делал submit()
     либо
    если календарь передает после закрытия фокус xlo_date, то на событие onFocus проверять изменилось ли значение и если да то submit()
    запивайте пиво водкой, чтобы жизнь была короткой
    запивайте водку пивом, чтобы стать большим красивым

    Оффлайн html_coder

    • Фанат форума
    • Старожил
    • ****
    • Сообщений: 427
    • +0/-0
    • 0
      • Просмотр профиля
    Просто наверное нужно исправить ошибку в коде и всё заработает.

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

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

       
    Muma попробуйте исправить код!

    Оффлайн Muma

    • Заглянувший
    • Новичок
    • *
    • Сообщений: 16
    • +0/-0
    • 0
      • Просмотр профиля
      • http://
    Дело в том что выбранная дата вставляется  в SELECT который обращается к БД. Поэтому я не представляю как тут можно обойтись без Формы.

    Оффлайн html_coder

    • Фанат форума
    • Старожил
    • ****
    • Сообщений: 427
    • +0/-0
    • 0
      • Просмотр профиля
    Цитировать
    Muma:
    Дело в том что выбранная дата вставляется в SELECT который обращается к БД...


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


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


    Оффлайн Muma

    • Заглянувший
    • Новичок
    • *
    • Сообщений: 16
    • +0/-0
    • 0
      • Просмотр профиля
      • http://
    Цитировать

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


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

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

    ЗАДАЧА : Заставить сработать OnChange  и причем только если поле поменялось чтоб запрос к БД не \'ушел\' за дату которая уже находится в поле \'xlo_date\'.

    Оффлайн html_coder

    • Фанат форума
    • Старожил
    • ****
    • Сообщений: 427
    • +0/-0
    • 0
      • Просмотр профиля
    Цитировать
    Muma:
    Руками меняю поле xlo_date - все Ok.


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

    Событие onChange срабатывает у текстового поля в момент, когда элемент теряет фокус, поэтому если дата вставляется из календаря, но при этом фокус остаётся в Input, то при таком раскладе по логике событие сработать не должно!

    Оффлайн Muma

    • Заглянувший
    • Новичок
    • *
    • Сообщений: 16
    • +0/-0
    • 0
      • Просмотр профиля
      • http://
    Да все правильно.Я уже понял что только изменение руками (& мышью) вызывает событие OnChange - просто подскажите как добиться чтобы форма отправила на сервер значение INPUT . Но без отдельной кнопки \'SUBMIT\' разумеется.

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

    ... ?

    Оффлайн html_coder

    • Фанат форума
    • Старожил
    • ****
    • Сообщений: 427
    • +0/-0
    • 0
      • Просмотр профиля
    Если можете выложите куда-нибудь ссылку на страницу, где это можно посмотреть, так уже трудно что-либо сказать...

    Оффлайн Muma

    • Заглянувший
    • Новичок
    • *
    • Сообщений: 16
    • +0/-0
    • 0
      • Просмотр профиля
      • http://
    Цитировать

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



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

     

    Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28