Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запретить отправлять форму с отключенным яваскрипт, как? 
:(
    Опции темы
Wowa
Дата 27.9.2006, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: 1
Всего: 290



Можно ли запретить отправлять форму с отключенным яваскрипт? Дело в том, что яваскрипт проверяет некое условие.
PM WWW   Вверх
vasac
Дата 27.9.2006, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 13
Всего: 36



Если форма без js не должна отправлятся, то можно вообще изначально скрыть ее за ненадобностью:
Код

<form id="idForm" style="display:none">
 <input type="text" />
 ...
</form>
<script type="text/javascript">
  document.getElementById( "idForm" ).style.display = "block";
</script>

Т.е. форма открывается при помощи js. А если он отключен, то формы нет на странице.
PM WWW   Вверх
GoodBoy
Дата 27.9.2006, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



ну что приходит на ум так это что-нить такое:

Код
<body onLoad="document.getElementById('forma').disabled=false;">
<form id="forma" disabled>
  <input type="text" name="txt" />
  <input type="submit" />
</form>
</body>



--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Wowa
Дата 27.9.2006, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: 1
Всего: 290



vasac,  а как вместо формы в таком случае показать надпись "Включите яваскрипт" ?
PM WWW   Вверх
PyS
Дата 27.9.2006, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 21.8.2006
Где: г. Алматы (Казахс тан)

Репутация: нет
Всего: 1



Цитата(Wowa @  27.9.2006,  16:50 Найти цитируемый пост)
vasac,  а как вместо формы в таком случае показать надпись "Включите яваскрипт" ? 

тогда может и формировать форму через JS
PM MAIL   Вверх
sergejzr
Дата 27.9.2006, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 10
Всего: 360



GoodBoy, с form.disabled траблы в фаерфоксе.


Цитата(Wowa @  27.9.2006,  11:50 Найти цитируемый пост)
vasac,  а как вместо формы в таком случае показать надпись "Включите яваскрипт" ? 


Код

<noscript>Включите яваскрипт</noscript>


Цитата(PyS @  27.9.2006,  11:53 Найти цитируемый пост)
тогда может и формировать форму через JS 

Это не всегдя нужно. Иногда надо указать, что форма есть.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
dstorm81
Дата 27.9.2006, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 20
Всего: 39



а вот я злостных хацкер посмотрю страничку увижу эту форму. создам свою форму на локале и все равно ОТОШЛЮ.
вывод придется на серваке отслеживать откуда написали, а тебе это надо? (тем более можно попытаться поломать)
вывод - просто сделать обработку входящей инфы на серваке, что проще, 
имхо это мое


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
sergejzr
Дата 27.9.2006, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 10
Всего: 360





Добавлено @ 14:03 
Цитата(dstorm81 @  27.9.2006,  12:01 Найти цитируемый пост)
а вот я злостных хацкер посмотрю страничку увижу эту форму. создам свою форму на локале и все равно ОТОШЛЮ.
вывод придется на серваке отслеживать откуда написали, а тебе это надо? (тем более можно попытаться поломать)
вывод - просто сделать обработку входящей инфы на серваке, что проще, 

Против хакеров есть способы получше. А этото для нормальных людей smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
PyS
Дата 27.9.2006, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 21.8.2006
Где: г. Алматы (Казахс тан)

Репутация: нет
Всего: 1



Код

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Новая страница 6</title>
<script src="http://mochikit.com/MochiKit/MochiKit.js"></script>
</head>

<body>
<div id="div_1"></div>

<script type="text/javascript">
//document.body.appendChild
t=1
if (t==1){
f1=FORM({id:'form1_1', name:'MyForm1', action:'/q1', metod:'post'}, INPUT({name:'text1', id:'text_1', type:'text', value:'124', value:'text'}, ''))
document.getElementById('div_1').appendChild(f1)
}
</script>


</body>

</html>


правда пока только в FF и Mozilla

PM MAIL   Вверх
dstorm81
Дата 27.9.2006, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 20
Всего: 39



я не хацкер робятки, но пользователи разные бывают, я к тому что на скрипты полагаться не стоит, надо всю проверку реализовывать на сервере, тем паче что WOWA так конкретно задачу поставил


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
pythonwin
Дата 27.9.2006, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 1
Всего: 36



Цитата(dstorm81 @  27.9.2006,  21:28 Найти цитируемый пост)
я не хацкер робятки, но пользователи разные бывают, я к тому что на скрипты полагаться не стоит, надо всю проверку реализовывать на сервере, тем паче что WOWA так конкретно задачу поставил 

А как проверить отключен или нет у пользователя JS?
PM WWW GTalk Jabber   Вверх
sergejzr
Дата 27.9.2006, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 10
Всего: 360



Цитата(dstorm81 @  27.9.2006,  12:28 Найти цитируемый пост)
я не хацкер робятки, но пользователи разные бывают, я к тому что на скрипты полагаться не стоит, надо всю проверку реализовывать на сервере, тем паче что WOWA так конкретно задачу поставил 

Ты задачи путаешь smile Одно дело проверка на сервере, другое на клиенте. Для сервера существует 1000 и одна проверок и пофиг, включал юзер скрипты или нет. Другое дело юзабилити. Если чек пришёл на твой сайт с отключенными скриптами, а там не стоит клиентская проверка, или всо вообще завязано под скрипт, он очень удивится и нифига не понимая пойдёт дальше на другую страницу. Чтобы тыкого не произошло, мы обязаны ему обьяснить, что дескать включи скрипты и будет тебе счастье. НО это не серверная проверка, аименно содержание ТЗ.

Цитата

Можно ли запретить отправлять форму с отключенным яваскрипт?




--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
dstorm81
Дата 27.9.2006, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 20
Всего: 39



ну тогда в теле страницы пишем форму которая будет скрыта через стили, при загрузке документа через скрипт показываем форму, но опять же некоторые браузеры разрешают не использовать ксс, тогда просто пишем левое место для отправки формы, а на той странице пишем, что типа у вас отключен скрипт.
само собой если скрипт включен то меняем action туда куда нужно, или как вариан через document.write форму сенерить или DOM модель


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
pythonwin
Дата 27.9.2006, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 1
Всего: 36



Цитата(dstorm81 @  27.9.2006,  21:42 Найти цитируемый пост)
ну тогда в теле страницы пишем форму которая будет скрыта через стили, при загрузке документа через скрипт показываем форму, но опять же некоторые браузеры разрешают не использовать ксс, тогда просто пишем левое место для отправки формы, а на той странице пишем, что типа у вас отключен скрипт.
само собой если скрипт включен то меняем action туда куда нужно, или как вариан через document.write форму сенерить или DOM модель 

 smile  smile 
PM WWW GTalk Jabber   Вверх
dstorm81
Дата 27.9.2006, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: 20
Всего: 39



Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<form action="http://www.mail.ru" style="display:none" id="ff">
<input type="text" /> <input type="submit" />
</form>
<script>
document.getElementById("ff").style.display="block";
document.getElementById("ff").action="http://www.google.com"
</script>
</body>
</html>

и все равно ее лучше генерить скриптом, потомучто если форма уже отображена на странице, то простым нажанием EnTER ее можно отправить


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
smartov
Дата 27.9.2006, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 7
Всего: 259



Можно еще так

Код

<html>
<body>
<!--не прописываем метод чтобы форма никуда не ушла даже из оперы-->
<form id="mainForm">
<input type="text" name="test" value="Any text"><br/>
<input type="button" id="submit" value="Please enable javascript" disabled>
</form>

<script>
window.onload = function() 
{
    document.getElementById('mainForm').method = "GET";
    document.getElementById('submit').value = "Submit";
    document.getElementById('submit').disabled = false;
    document.getElementById('submit').onclick = function () { document.getElementById('mainForm').submit(); }
}
</script>

</body>
</html>

PM MAIL   Вверх
Sardar
Дата 27.9.2006, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Здесь на форуме форма генериться при загрузке, если JS нет, то и формы быстрого ответа (физически) нет. Работает smile

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

Если как некая защита от роботов, заполняющих формы, то защитить всё таки весьма сложно, запрос и так можно послать выдернув URL'ы и "секретные" параметры (достаточно человеку один раз подумать над страницой, а на пару суток будет работать пока не запалят). Если только закодировать секретный параметр в мудрёном автомате с доброй тысячей переходов, пока всё не выполнишь, не получишь. В таком случае роботу придёться выполнять много JS кода, это уже не вырезать чего нибудь по шаблону smile

Но! неужели проблема стоит так остро? smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
PyS
Дата 28.9.2006, 07:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 21.8.2006
Где: г. Алматы (Казахс тан)

Репутация: нет
Всего: 1



Цитата(Sardar @  28.9.2006,  01:01 Найти цитируемый пост)
Здесь на форуме форма генериться при загрузке, если JS нет, то и формы быстрого ответа (физически) нет. Работает smile

Поддерживаю! smile
Я за  создание формы через JS.
PM MAIL   Вверх
S.A.P.
Дата 28.9.2006, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 8
Всего: 71



Вот, еще один способ в нагрузку
Код

<script>document.write('<form>')</script>
<input type="text" name="test" value="Any text"><br/>
<input type="submit">
<script>document.write('</form>')</script>

PM MAIL   Вверх
pythonwin
Дата 28.9.2006, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 1
Всего: 36



S.A.P., а вов всех браузерах работает?
PM WWW GTalk Jabber   Вверх
S.A.P.
Дата 28.9.2006, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 8
Всего: 71



pythonwin,  не знаю  smile .
PM MAIL   Вверх
Bikutoru
Дата 28.9.2006, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлекающийся
**


Профиль
Группа: Участник
Сообщений: 522
Регистрация: 24.5.2005
Где: Москва

Репутация: нет
Всего: 22



А если не добавлять в форму кнопку submit, а повесить проверку отправку формы на обычную кнопку(т.е. как-то так:
Код

<input type="button" value="Оправить" onclick="checkAndSubmit(this.form)">

Сообщение, уведомляющее о выключенном Javascript'е можно сделать через <noscript>, как уже предлагалось раньше

Добавлено @ 12:18 
Вариант не годится...


--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
PyS
Дата 29.9.2006, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 21.8.2006
Где: г. Алматы (Казахс тан)

Репутация: нет
Всего: 1



я не монимаю, почему нельзя сгенерировать форму в JS? Нам что это религия не позволяет?  smile 
smile
PM MAIL   Вверх
sergejzr
Дата 30.9.2006, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 10
Всего: 360



Цитата(PyS @  29.9.2006,  06:18 Найти цитируемый пост)
я не монимаю, почему нельзя сгенерировать форму в JS? Нам что это религия не позволяет?

А какая разница, чем форма сгенерена? Если я хочу её отправить, я её отправлю. Доцтаточно посмотреть заголовки. А вот если скрипт правильно проверяет условие, отправка такая уже ничего не даст, если скрипт выключен.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0815 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.