Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 835
от 11.12.2007, 21:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 442, Экспертов: 46
В номере:Вопросов: 2, Ответов: 8


Вопрос № 112564: Доброго времени суток вам +) У меня к вам такой вопрос. У меня есть форма в которой оформляется заказ на кофейные автоматы ... этих автоматов 6 штук. Перед каждым наименованием автомата ставтся флажок, а после наименования самого автомата в поле ...
Вопрос № 112573: Здравствуйте, уважаемые эксперты! Мне нужна кнопка "отмена" в форме, которая бы просто перезагружала страницу. Подскажите, пожалуйста, более рациональные способы это сделать, чем выделение отдельной формы с одной только кнопкой и action на ...

Вопрос № 112.564
Доброго времени суток вам +)
У меня к вам такой вопрос. У меня есть форма в которой оформляется заказ на кофейные автоматы ... этих автоматов 6 штук. Перед каждым наименованием автомата ставтся флажок, а после наименования самого автомата в поле вводится число автоматов данного типа. Подскажите мне как средствами PHP и MySQL сделать так чтобы в поле после наименования автомата можно было вводить данные только в том случае если перед самим наименованием поставлен флажок. Заранее спасибо
Отправлен: 06.12.2007, 09:28
Вопрос задал: Степанов Петр (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: PVS
Здравствуйте, Степанов Петр!
PHP и MySQL работают на стороне сервера и получают данные только после отправки всей формы, поэтому с их помощью Вы такое не сделаете - максимум что можно - игнорировать данные о количестве.
То что Вы задумали можно осуществить с помощью JavaScript'a. Как именно - точно не знаю, но из того что я видел реально запрещал вводить данные только InternetExplorer, а остальные браузеры запрет игнорировали.
Ответ отправил: PVS (статус: Специалист)
Ответ отправлен: 06.12.2007, 09:57
Оценка за ответ: 4

Отвечает: Kruphi
Здравствуйте, Степанов Петр!

Это делается на стороне клиента с помощью скриптового языка (например JavaScript) можно менять свойство disable у текстового поля.

Вот работающий пример (проверял в IE 6.0 и Firefox 2.0.0.11)

language="JavaScript" type="text/javascript">
function disf(chID,txID)
{
document.getElementById(txID).disabled = ( document.getElementById(chID).checked == true ) ? false : true;
}
</script>
<input name="app" type="checkbox" id="ch1" onClick="disf('ch1','tx1')">Проверка<br>
<input name="znach" type="text" id="tx1" disabled>

Функция 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 на эту страницу. Если не очень объяснил, см. приложение. Заранее благодарен!

Приложение:

Отправлен: 06.12.2007, 10:35
Вопрос задал: Андрющенко Вячеслав Васильевич (статус: 1-ый класс)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: 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 type="button" onClick='window.location.reload(true);'' value="Отмена">

...и, кстати этот 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


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.65 от 04.12.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное