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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> submit.disabled при загрузке страницы, как сделать? 
:(
    Опции темы
Ord
Дата 19.10.2007, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Приветствую уважаемые коллеги, продолжая экспериментировать с JS решил сделать небольшую голосовалку на своём сайте (на PHP), с маленькими элементами JS. Решил сделать для эксперимента 4 radiobutton и 1 submit, Идея состоит в том, чтобы кнопка Сабмита была неактивна, пока я не выберу любой пункт голосования

сделал примерно так.

1. При загрузке страницы вызываю функцию в теге body
Код

<body ... onload="butt_disable();">


2. написал функцию, примерно следующего содержания, пока для 1 элемента Radiobutton для теста:
Код

Function butt_disable()
{
votebutton = document.GetElementById("subbutton");
radiobutton = document.GetElementById("radio1");
if (radiobutton == checked)
{
votebutton.disabled = false;
}
else
{
votebutton.disabled = true;
}
}


3. Ну и соответственно формы:
Код


<form name="Poll" method="post" action="">
<input name="radio" type="radio" id="radio1"><br>
<input name="radio" type="radio"><br>
<input name="radio" type="radio"><br>
<input name="radio" type="radio"><br><br>
<input name="submit" id="subbutton" type="submit" value="Отправить">
</form>


Собственно за гвоздка в том, что JS не считает
document.GetElementById("subbutton");
за объект и не присваивает ему свойства disabled.

Уважаемые коллеги не подскажите в чём может быть проблема?

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


Опытный
**


Профиль
Группа: Участник
Сообщений: 565
Регистрация: 8.9.2007
Где: Saint-Petersburg

Репутация: 19
Всего: 26



Ord, 

- во-первых, javascript различает регистр (в отличии от PHP (хотя PHP тоже различает в именах переменных, но не в функциях! а javascript - во всем)). Поэтому: getElementById(...), а не GetElementById(...)

- во-вторых, реализация, может быть более простой: сразу в теге пишете disabled="true" (т.е. не надо ничего вызывать в onload), а по клику на радио-баттоны - enabl'ите кнопку: document.getElementById("subbutton").disabled = false;


--------------------
the .code inside
:my music
PM MAIL WWW ICQ Jabber   Вверх
Ord
Дата 19.10.2007, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

во-первых, javascript различает регистр


Ужас! Спасибо smile
PM MAIL WWW   Вверх
Ord
Дата 19.10.2007, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

<form method="post" action="">
<input name="radio" type="radio" onclick="document.getElementById('subbutton').disabled = false;"> Пункт 1<br>
<input name="radio" type="radio" onclick="document.getElementById('subbutton').disabled = false;"> Пункт 2<br>
<input name="radio" type="radio" onclick="document.getElementById('subbutton').disabled = false;"> Пункт 3<br>
<input name="radio" type="radio" onclick="document.getElementById('subbutton').disabled = false;"> Пункт 4<br><br>
<input name="subbutton" type="submit" value="Отправить" disabled="true">
</form>



Оставлю тут рабочий вариант - может кому пригодится ...
PM MAIL WWW   Вверх
IAmEternaL
Дата 19.10.2007, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ну а если там будет текстовое поле? ввел значение и нажал энтер
альтернатива
Код

<script type="text/javascript">
var allowFormSubmit = false;
</script>
<form onsubmit="return allowFormSubmit">
...
</form>


да и потом
Код

<input disabled="true">

это вообще откуда?
HTML
Код

<input disabled>

XHTML
Код

<input disabled="disabled" />


Это сообщение отредактировал(а) IAmEternaL - 19.10.2007, 17:19
PM MAIL ICQ Skype   Вверх
dsCode
Дата 19.10.2007, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 565
Регистрация: 8.9.2007
Где: Saint-Petersburg

Репутация: 19
Всего: 26



IAmEternaL, disabled="disabled" - это альтернатива disabled="true"


--------------------
the .code inside
:my music
PM MAIL WWW ICQ Jabber   Вверх
IAmEternaL
Дата 19.10.2007, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



вообще - наличие тэга это все, что нужно
напиши ты там хоть disabled="false", все равно элемент будет отключенным, потому не стоит себя обманывать и пользоваться нотацией, которую XHTML предусматривает
selected="selected"
readonly="readonly"
или юзать HTML
PM MAIL ICQ Skype   Вверх
cruelangel
Дата 20.10.2007, 04:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



пользователи без поддержки яваскрипт или отключившие его или [ещё 10 причин почему яваскрипт может не заработать] идут лесом?
PM MAIL   Вверх
ksnk
Дата 20.10.2007, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Цитата(dsCode @  19.10.2007,  14:57 Найти цитируемый пост)
сразу в теге пишете disabled="true"


Цитата(cruelangel @  20.10.2007,  04:29 Найти цитируемый пост)
пользователи без поддержки яваскрипт или отключившие его или [ещё 10 причин почему яваскрипт может не заработать] идут лесом? 


!!!

disabled='true' следует писать в методе onload страницы!
Что-то вроде
Код

function onLoad() {
  document.forms['Poll']['submit'].disabled='true'
}






--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
IAmEternaL
Дата 20.10.2007, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(cruelangel @  20.10.2007,  04:29 Найти цитируемый пост)
пользователи без поддержки яваскрипт или отключившие его или [ещё 10 причин почему яваскрипт может не заработать] идут лесом? 


ты издеваешься? а если у чела нет яваскрипта, то как ему форму разлочить, даже еси там сабмит задизейблин?))) бред, таких лолов без яваскрипта единицы, их есть смысл тупо игнорить

Цитата(ksnk @ 20.10.2007,  08:02)
Цитата(dsCode @  19.10.2007,  14:57 Найти цитируемый пост)
сразу в теге пишете disabled="true"


Цитата(cruelangel @  20.10.2007,  04:29 Найти цитируемый пост)
пользователи без поддержки яваскрипт или отключившие его или [ещё 10 причин почему яваскрипт может не заработать] идут лесом? 


!!!

disabled='true' следует писать в методе onload страницы!
Что-то вроде
Код

function onLoad() {
  document.forms['Poll']['submit'].disabled='true'
}

а это зачем?)))) мы ж без яваскрипта работаем!!!)))

в тэге достаточно аттрибута (если говорим о сабмит) а для формы нужна обработка события онсабмит
PM MAIL ICQ Skype   Вверх
dsCode
Дата 20.10.2007, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 565
Регистрация: 8.9.2007
Где: Saint-Petersburg

Репутация: 19
Всего: 26



IAmEternaL, 
Цитата(IAmEternaL @  19.10.2007,  21:35 Найти цитируемый пост)
напиши ты там хоть disabled="false", все равно элемент будет отключенным, потому не стоит себя обманывать и пользоваться нотацией, которую XHTML предусматривает

это и так известно и я себя не обманываю, просто, если известно, что чтобы сделать элемент активным, надо написать disabled = false в скрипте (!), соответственно интуитивно хочется написать disabled = true при оформлении (ну или disabled = "disabled").

ksnk, 
Цитата(ksnk @  20.10.2007,  10:02 Найти цитируемый пост)
disabled='true' следует писать в методе onload страницы!

это к чему?

cruelangel, 
Цитата(cruelangel @  20.10.2007,  04:29 Найти цитируемый пост)
пользователи без поддержки яваскрипт или отключившие его или [ещё 10 причин почему яваскрипт может не заработать] идут лесом?

зачем это писать в разделе о JavaScript? Ладно, я понимаю, в разделе о серверных языках это пишут, когда предлагаетcя проверить на клиенте что-то, но в этом-то разделе ведутся разговоры о js smile 


--------------------
the .code inside
:my music
PM MAIL WWW ICQ Jabber   Вверх
ksnk
Дата 22.10.2007, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Цитата(IAmEternaL @  20.10.2007,  11:35 Найти цитируемый пост)
а это зачем?)))) мы ж без яваскрипта работаем!!!)))

в тэге достаточно аттрибута (если говорим о сабмит) а для формы нужна обработка события онсабмит 

disable красиво, наглядно и доходчиво скажет юзеру, что сюда нажимать не надо. А чтобы он не мешал жить тем, у кого JS нету, включать его нужно самим javaScript'ом... Что еще не понятно?
Цитата(dsCode @  20.10.2007,  19:53 Найти цитируемый пост)
это к чему?

К дисциплине работы с атрибутом disabe для кнопки...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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