Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.11.2011, 11:12
Аватар для Electron
Интересующийся
Отправить личное сообщение для Electron Посмотреть профиль Найти все сообщения от Electron
 
Регистрация: 03.11.2011
Сообщений: 24

Изменение псевдокласса DISABLED при активации события
Похожие темы имеются, но они мне не помогли

Нужно, чтобы при активации флажка (checkbox) кнопка (submit) становилась активной, а при деактивации - неактивной

Данный код отображает кнопку при активации флажка, но без обратного эффекта:
<form method="get" action="#">
	<input type="checkbox" name="checkbox" onfocus="this.form.submit.disabled=0" />
	<input type="submit" name="submit" value="Button" disabled />
</form>


Так же получилось условие в событие (onChange) для флажка:
if (this.form.checkbox.checked == 1) {
	this.form.submit.disabled = 0
} else {
	this.form.submit.disabled = 1
}

aka:
if (document.getElementById('checkbox').checked == 1) {
	document.getElementById('submit').disabled = 0
} else {
	document.getElementById('submit').disabled = 1
}

На локальном компьютере работает отлично, а на сайте почему-то код сокращается до такого варианта:
if(document.getElementById('checkbox').checked==1)else

Возможно ошибка тупо в синтаксисе? Или может нужно использовать другое событие?
Ответить с цитированием
  #2 (permalink)  
Старый 03.11.2011, 13:41
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Electron
при активации флажка (checkbox) кнопка (submit) становилась активной, а при деактивации - неактивной
Как вариант...

<script>
function Go(Type) {
   document.getElementById('test').disabled=!Type;
}
</script>
<form method="get" action="#">
	<input type="checkbox" name="checkbox" onclick="Go(this.checked)" />
	<input id='test' type="submit" name="submit" value="Button" disabled />
</form>
Ответить с цитированием
  #3 (permalink)  
Старый 04.11.2011, 11:14
Аватар для Electron
Интересующийся
Отправить личное сообщение для Electron Посмотреть профиль Найти все сообщения от Electron
 
Регистрация: 03.11.2011
Сообщений: 24

Сообщение от ksa
Как вариант...
К сожалению та же история, работает на локальном компьютере, а на сайте нет
А всё, оказалось, из-за того, что тупой движок сайта ставил внутри скриптов тег <br/>...

Зато отлично сработал такой вариант (исходя из Вашего):
<form method="get" action="#">
	<input type="checkbox" name="checkbox" onmousedown="this.form.submit.disabled=this.checked" />
	<input type="submit" name="submit" value="Button" disabled />
</form>


Так что, спасибо

Последний раз редактировалось Electron, 04.11.2011 в 11:18.
Ответить с цитированием
  #4 (permalink)  
Старый 04.11.2011, 11:19
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Electron, мой вариант не зависит от <br />... И не завист от того, где он установлен.
Ответить с цитированием
  #5 (permalink)  
Старый 04.11.2011, 12:07
Аватар для Electron
Интересующийся
Отправить личное сообщение для Electron Посмотреть профиль Найти все сообщения от Electron
 
Регистрация: 03.11.2011
Сообщений: 24

Сообщение от ksa Посмотреть сообщение
Electron, мой вариант не зависит от <br />... И не завист от того, где он установлен.
Я о Вас ничего и не говорю, это движок сайта тупит...

Сейчас та же проблема, не работает из-за того, что движок удаляет часть скрипта, нужно чтобы так же код был без условий

То есть выглядеть это будет так:
<script>
function send() {
	if (this.form.text.value=='') {
		alert('Укажите номер Вашего счета!'); return false;
	} else {
		alert('Данные отправлены!');
	}
}
</script>
<form method="get" action="#">
	Укажите номер Вашего счета
	<input type="text" name="text" size="10" />
	<br />
	Я принимаю условия соглашения
	<input type="checkbox" name="checkbox" onmousedown="this.form.submit.disabled=this.checked" />
	<input type="submit" name="submit" value="Скачать договор" onclick="send()" disabled />
</form>

Ничего нового, на локальном компьютере работает, а в интернете - нет

Последний раз редактировалось Electron, 04.11.2011 в 12:10.
Ответить с цитированием
  #6 (permalink)  
Старый 04.11.2011, 12:42
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Electron
а в интернете - нет
Бивас, тест!

<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
function send() {
	if (this.form.text.value=='') {
		alert('Укажите номер Вашего счета!'); return false;
	} else {
		alert('Данные отправлены!');
	}
}
</script>
</head>
<body>
<form method="get" action="#">
	Укажите номер Вашего счета
	<input type="text" name="text" size="10" />
	<br />
	Я принимаю условия соглашения
	<input type="checkbox" name="checkbox" onmousedown="this.form.submit.disabled=this.checked" />
	<input type="submit" name="submit" value="Скачать договор" onclick="send()" disabled />
</form>
</body>
</html>

Таки работает и в инете. Смотрю в Опере...
Ответить с цитированием
  #7 (permalink)  
Старый 04.11.2011, 12:59
Аватар для Electron
Интересующийся
Отправить личное сообщение для Electron Посмотреть профиль Найти все сообщения от Electron
 
Регистрация: 03.11.2011
Сообщений: 24

Сообщение от ksa Посмотреть сообщение
Таки работает и в инете. Смотрю в Опере...
Вы слышите о чём я говорю? На движке для сайта e107 не работает!
Такая проблема решается выносом скрипта в отдельный JS-файл, но в таком случае не работает "return false"...
Ответить с цитированием
  #8 (permalink)  
Старый 04.11.2011, 13:03
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Electron, ты описываешь какие-то страсти-мордасти...
Ответить с цитированием
  #9 (permalink)  
Старый 04.11.2011, 13:42
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

такая проблема решается в первую очередь выключением минификатора скриптов в движке.
Ответить с цитированием
  #10 (permalink)  
Старый 04.11.2011, 13:45
Аватар для Electron
Интересующийся
Отправить личное сообщение для Electron Посмотреть профиль Найти все сообщения от Electron
 
Регистрация: 03.11.2011
Сообщений: 24

Сообщение от melky Посмотреть сообщение
такая проблема решается в первую очередь выключением минификатора скриптов в движке.
Но ведь в таком случае полетит оформление всех страниц сайта?!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение значения input при смене значения select galart jQuery 4 30.01.2015 19:39
Изменение изображения при наведении mishko_o Элементы интерфейса 4 24.10.2011 16:20
Изменение позиции блоков при увеличении изображения vyrtime Общие вопросы Javascript 2 14.10.2011 12:24
Изменение стиля родительского элемента при :hover дочернего lanzs Элементы интерфейса 2 16.10.2010 13:28
привязка события к disabled IOpeH Events/DOM/Window 4 20.03.2009 01:11