Вопрос № 112564: Доброго времени суток вам +)
У меня к вам такой вопрос. У меня есть форма в которой оформляется заказ на кофейные автоматы ... этих автоматов 6 штук. Перед каждым наименованием автомата ставтся флажок, а после наименования самого автомата в поле ...Вопрос № 112573: Здравствуйте, уважаемые эксперты! Мне нужна кнопка "отмена" в форме, которая бы просто перезагружала страницу. Подскажите, пожалуйста, более рациональные способы это сделать, чем выделение отдельной формы с одной только
кнопкой и action на ...
Вопрос № 112.564
Доброго времени суток вам +)
У меня к вам такой вопрос. У меня есть форма в которой оформляется заказ на кофейные автоматы ... этих автоматов 6 штук. Перед каждым наименованием автомата ставтся флажок, а после наименования самого автомата в поле вводится число автоматов данного типа. Подскажите мне как средствами PHP и MySQL сделать так чтобы в поле после наименования автомата можно было вводить данные только в том случае если перед самим наименованием поставлен флажок. Заранее спасибо
Отвечает: PVS
Здравствуйте, Степанов Петр!
PHP и MySQL работают на стороне сервера и получают данные только после отправки всей формы, поэтому с их помощью Вы такое не сделаете - максимум что можно - игнорировать данные о количестве.
То что Вы задумали можно осуществить с помощью JavaScript'a. Как именно - точно не знаю, но из того что я видел реально запрещал вводить данные только InternetExplorer, а остальные браузеры запрет игнорировали.
Ответ отправил: PVS (статус: Специалист)
Ответ отправлен: 06.12.2007, 09:57 Оценка за ответ: 4
Отвечает: Kruphi
Здравствуйте, Степанов Петр!
Это делается на стороне клиента с помощью скриптового языка (например JavaScript) можно менять свойство disable у текстового поля.
Вот работающий пример (проверял в IE 6.0 и Firefox 2.0.0.11)
Функция disf принимает 2 аргумента - id флажка и текстового поля.
Внимание: в примере изначально у текстового поля стоит disabled, поэтому, если у пользователя какие-то косяки с javacript он никогда не сможет ввсети туда что-либо
Ответ отправил: Kruphi (статус: 2-ой класс)
Ответ отправлен: 06.12.2007, 12:00 Оценка за ответ: 5
Отвечает: Hid
Здравствуйте, Степанов Петр!
тут я вижу три пути решения, расскажу общие принципы:
1-й через ява-скрипт, который делал бы неактивными поля с количеством автоматов в зависимости от того выбран ли тип автоматов.
2-й это добавить промежуточную страницу с формой. т.е. на первой странице выбирается тип автомата, отсылается скрипту, который выводи страницу с полем ввода количества, а уж потом данные отсылаются обрабатывающему скрипту.
3-й путь - это комбинация из первых двух. Можно использовать технологию AJAX, т.е. первоначально на странице есть только поле выбора типа автомата, при его заполнении ява-скрипт на странице открывает соединение с сервером, не перегружая страницу, отсылает данные PHP скрипту и формирует еще одно поле для ввода количества автоматов.
Недостаток 1-го и 3-го пути в том что ява-скрипты могут не поддерживаться некоторыми браузерами, а недостаток 2-го способа - в повышенном трафике, ведь страницу приходится перегружать лишний раз.
Ответ отправил: Hid (статус: 2-ой класс)
Ответ отправлен: 07.12.2007, 10:05 Оценка за ответ: 4
Вопрос № 112.573
Здравствуйте, уважаемые эксперты! Мне нужна кнопка "отмена" в форме, которая бы просто перезагружала страницу. Подскажите, пожалуйста, более рациональные способы это сделать, чем выделение отдельной формы с одной только кнопкой и action на эту страницу. Если не очень объяснил, см. приложение. Заранее благодарен!
Отвечает: Miklucho
Здравствуйте, Андрющенко Вячеслав Васильевич!
Если вам нужно просто очистить форму от ввода используйте кнопку reset (см. приложение)
Приложение:
Ответ отправил: Miklucho (статус: Практикант)
Ответ отправлен: 06.12.2007, 11:01 Оценка за ответ: 4
Отвечает: M@gi$†e®
Здравствуйте, Андрющенко Вячеслав Васильевич!
Сдаётся мне, Вам нужно написать вот так:
<input type='reset' value='Отмена'>
Приложение:
--------- Aquila non Capta Muscas
Ответ отправил: M@gi$†e® (статус: 7-ой класс)
Ответ отправлен: 06.12.2007, 11:01 Оценка за ответ: 4
Отвечает: Миленин Александр
Здравствуйте, Андрющенко Вячеслав Васильевич!
Можно использовать следующую конструкцю(см. приложение)
Приложение:
Ответ отправил: Миленин Александр (статус: 8-ой класс)
Ответ отправлен: 06.12.2007, 12:27 Оценка за ответ: 4
Отвечает: Цепковский Антон Сергеевич
Здравствуйте, Андрющенко Вячеслав Васильевич!
...и, кстати этот input необязательно включать в form-у.
С уважением,
Антон Цепковский
Приложение:
--------- Вся наша жизнь - RPG
Ответ отправил: Цепковский Антон Сергеевич (статус: 8-ой класс)
Ответ отправлен: 06.12.2007, 18:26 Оценка за ответ: 5
Отвечает: proger
Здравствуйте, Андрющенко Вячеслав Васильевич
а почему не сделать с помощью javascript?
<input type=button value="Отмена" onclick="javascript:window.location.reload();">
Ответ отправил: proger (статус: 3-ий класс)
Ответ отправлен: 06.12.2007, 19:32