Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.07.2016, 22:09
Интересующийся
Отправить личное сообщение для px379 Посмотреть профиль Найти все сообщения от px379
 
Регистрация: 15.10.2011
Сообщений: 13

Не работает checked
Здравствуйте! Есть скрипт, раньше все работало во всех браузерах, щас перестало.

Есть две радиокнопки, которые при помощи JS вставляют в текстовое поле некий текст.
<input type="radio" name="size" id="pton" checked="checked" />[size=20pt]
<input type="radio" name="size" id="ptoff" />[size=20]


Вот собственно JS
if (form.size['pton'].checked) {
form.story.value +="[size=20pt]"+ "";
}

if (form.size['ptoff'].checked) {
form.story.value +="[size=20]"+"";
}


Я так подозреваю, что проблема из за обновления браузеров. В старых версиях браузеров все работает как надо.
Помогите разобраться, где и что надо поправить?
Ответить с цитированием
  #2 (permalink)  
Старый 06.07.2016, 22:26
Профессор
Отправить личное сообщение для Царь Леонид Посмотреть профиль Найти все сообщения от Царь Леонид
 
Регистрация: 22.08.2013
Сообщений: 217

Сообщение от px379 Посмотреть сообщение
Здравствуйте! Есть скрипт, раньше все работало
Я так подозреваю, что проблема из за обновления браузеров. В старых версиях браузеров все работает как надо.
Помогите разобраться, где и что надо поправить?
Это не выглядит,как работающий код в любой версии любого браузера.Вот так вот надо (с). Правда, меня очень настораживает innerHTML
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
<input type="radio" name="size" id="pton" value="[size=20pt]" />[size=20pt]
<input type="radio" name="size" id="ptoff" value="[size=20]" />[size=20]
  <textarea id="result"></textarea>
<script>

var on = document.getElementById('pton'),
   of2 = document.getElementById('ptoff'),
    result = document.getElementById('result');
on.addEventListener('change', function(e){
  result.innerHTML = e.target.value 
})

of2.addEventListener('change', function(e){
  result.innerHTML = e.target.value
})
</script>
</body>
</html>

Последний раз редактировалось Царь Леонид, 06.07.2016 в 22:45.
Ответить с цитированием
  #3 (permalink)  
Старый 07.07.2016, 00:08
Интересующийся
Отправить личное сообщение для px379 Посмотреть профиль Найти все сообщения от px379
 
Регистрация: 15.10.2011
Сообщений: 13

Сообщение от Царь Леонид Посмотреть сообщение
Это не выглядит,как работающий код в любой версии любого браузера.Вот так вот надо (с). Правда, меня очень настораживает innerHTML
Тут могу поспорить) Например в опере 12 все прекрасно работает.
Опера 12: https://nnmclub.to/forum/viewtopic.php?t=987255
Скрипт: http://file.sampo.ru/292534/

Вообще, больше интересует редактирование именно этого кода (внести поправки) а не писать тоже самое заново=)
Ответить с цитированием
  #4 (permalink)  
Старый 07.07.2016, 00:59
Профессор
Отправить личное сообщение для Царь Леонид Посмотреть профиль Найти все сообщения от Царь Леонид
 
Регистрация: 22.08.2013
Сообщений: 217

Сообщение от px379 Посмотреть сообщение
Тут могу поспорить)
Вы маленькую деталь забыли указать, код начинается с

wait_visibility('generator', 0);function create(form) {
form.story.value="";


без него тот кусок кода нигде работать не будет)
Ответить с цитированием
  #5 (permalink)  
Старый 07.07.2016, 01:08
Интересующийся
Отправить личное сообщение для px379 Посмотреть профиль Найти все сообщения от px379
 
Регистрация: 15.10.2011
Сообщений: 13

Сообщение от Царь Леонид Посмотреть сообщение
без него тот кусок кода нигде работать не будет)
Ну это да. Я просто указал ту часть кода, на которой идет вся запара.
Ответить с цитированием
  #6 (permalink)  
Старый 08.07.2016, 21:15
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Сообщение от Царь Леонид
в любой версии любого браузера
За всю Одессу не скажу, но в моем Фраервоксе все работает как доктор прописал, а прописал он обращаться к элементу через . сперва по ид, а если его нет - по имени. Я проверять не собираюсь, но слышал, что это не надежные методы, но может быть уже стало получше.

<!DOCTYPE html><html lang="ru" dir="ltr"><head><meta charset="utf-8"></head><body><form>

<input type="radio" name="size" id="pton" checked="checked" />Drink Me
<input type="radio" name="size" id="ptoff" />Fuck Me
<input type="text" name="story"/>
<input type="button" name="send" value="Hit Me"/>

</form><script>

var form=document.querySelector('form'),
	button=form.send,
	eat_me=function(){
		form.story.value=form.pton.checked?form.pton.value:'Suck Me';
	};
	form.story.value='';
	
button.addEventListener('click',eat_me);

</script></body></html>
Ответить с цитированием
  #7 (permalink)  
Старый 08.07.2016, 21:18
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Сообщение от px379
запара
Запара между ид и нейм состоит в том, что добропорядочный кодер не должен допускать ид совпадающих с нейм на странице. Тогда все должно работать как W3C оргии обещают.

ЗЫ Напомню молодежи бытие. Сначала было name и это бог видел, что это хорошо, но дошли до него молитвы и он сотворил id, а потом ему принесли еще жертвы, он обонял и сотворил class и с тех пор ничерта не делает.

name до сих пор можно использовать в некоторых элементах помимо полей формы, например в <a>

Последний раз редактировалось warren buffet, 08.07.2016 в 21:27.
Ответить с цитированием
  #8 (permalink)  
Старый 12.07.2016, 01:27
Интересующийся
Отправить личное сообщение для px379 Посмотреть профиль Найти все сообщения от px379
 
Регистрация: 15.10.2011
Сообщений: 13

Сообщение от warren buffet Посмотреть сообщение
Запара между ид и нейм состоит в том, что добропорядочный кодер не должен допускать ид совпадающих с нейм на странице. Тогда все должно работать как W3C оргии обещают.
Даже перепроверил. У меня id и name нигде не совпадают.
Ответить с цитированием
  #9 (permalink)  
Старый 12.07.2016, 12:20
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Вообще-то и id не очень нужен...
<!DOCTYPE html>
<html>
<head>
    <title>Radio</title>
</head>
<body>
    <div id="sel">
        <input type="radio" name="size" value="[size=20pt]" />[size=20pt]
        <input type="radio" name="size" value="[size=20]" />[size=20]
    </div>
    <textarea id="result"></textarea>
    <script>
        var result = document.getElementById('result');
        document.getElementById("sel").addEventListener('change', function (e) {
            result.innerHTML = e.target.value
        })
    </script>
</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает push! Динамическая вставка TSEH25 ExtJS 5 03.07.2012 13:00
jQyery функция странно работает! Midel Общие вопросы Javascript 4 08.04.2012 13:40
Не работает attr checked у чекбокса! FRIE jQuery 7 28.12.2011 13:00
помогите найти ошибку (работает в IE но не работает в Firefox) Len4ik Javascript под браузер 2 11.05.2010 15:41
Safari + ajax некорректно работает, а в других работает demi AJAX и COMET 35 15.07.2009 14:11