Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Поменять элемент с помощью getElementById().innerHTML (https://javascript.ru/forum/misc/16504-pomenyat-ehlement-s-pomoshhyu-getelementbyid-innerhtml.html)

fordzon 11.04.2011 10:26

Поменять элемент с помощью getElementById().innerHTML
 
Не ругайте сильно, я любитель. Тем более начинающий. Но интересно понять, где у меня ошибка.
Хочу подменить элемент embed при воспроизведении клипов. И не могу понять, почему не получается.
По сути меняю целиком клип. Разбиваю элемент на три части, соединяю в окне textarea, получаю результат, который виден при нажатии кнопки "Обновить". Могу менять номер клипа и контролирую в окне.
Но почему не меняется элемент? Где ошибка.
Комментарии там вставил в скриптах.
http://horef.narod.ru/Clip.html
Плз.. не обойдите вниманием...

Я электронщик. Больше по железу....

Sweet 11.04.2011 10:54

Многа букафф:) Огромное сообщение, и ни о чем. А по ссылкам я, например, не хожу. А вообще, лучшим вариантом было бы самостоятельное решение проблемы с помощью какого-нибудь отладчика. Каким браузером смотришь? У фф есть фаербаг, у хрома, оперы и ие - встроенные инструменты. Чем пользуешься?

monolithed 11.04.2011 10:55

Цитата:

Сообщение от fordzon
Я электронщик. Больше по железу.

зачем столько лишних слов? покажите код

fordzon 11.04.2011 11:11

Функция F2 не работает. Почему?

Вот весь код

<HTML><head><title>Проба2</title></head><body>
<script language="JavaScript">
<!--
var s1='<embed id=q src="http://www.vibox.ru/videoPlayer.swf?Id=68264bdb65b97eeae6788aa3348e553c&VID='
var s2='" height="460" width="600" allowFullScreen="true" allowScriptAccess="always">'
function F1()
{
document.form1.m1.value=(s1 + form1.res.value+s2);   // Получаю исходный код в окне textarea 
}
function F2()
{
var n = document.form1.m1.value
document.getElementById('q').innerHTML = n           // Неудачная попытка поменять элемент. Почему не получается?
}
function delet ()
{form1.m1.value=''                                   // Очистка окна textarea
}
function Fu(qwe)
{
var a= qwe.res.value
qwe.res.value = (a*1 + 1*1)                          // Увеличение номера на 1  
}
function Fg(qwe)
{
var a= qwe.res.value
qwe.res.value = (a*1 - 1*1)                           // Уменьшение номера на 1                         
}
//-->
</script>
<embed id=q src="http://www.vibox.ru/videoPlayer.swf?Id=68264bdb65b97eeae6788aa3348e553c&VID=9075" height="460" width="600" allowFullScreen="true" allowScriptAccess="always"></embed>
<BODY bgcolor="#77aaff">
<h4>Код клипа</h4>
<FORM name ="form1">
<textarea name="m1" cols=73 rows=5></textarea><br>
<input type="button" value="<<Уменьшить<<" onClick="Fg(form1)" >
<input type="text" size=10 name="res" value="9075">
<input type="button" value=">>Увеличить>>" onClick="Fu(form1)" ><br>
<input type="button" value="Обновить" onClick='F1()' ><br>
<br>
<input type="button" value="Поменять клип" onClick='F2()' >
<br>
</FORM></BODY></HTML>

fordzon 11.04.2011 11:15

Опера 11.01
Про отладчики не в курсе.
Извиняйте за много букв.

рони 11.04.2011 11:18

fordzon,
embed заключите в div и у этого div меняйте содержимое -- изучите html

fordzon 11.04.2011 11:24

Спасибо!
Попробую.

fordzon 11.04.2011 11:25

Что ещё в DiV надо указать, кроме id ?

рони 11.04.2011 11:29

fordzon,
Вариант на скорую руку )))
<HTML><head><title>Проба2</title></head>
<body bgcolor="#77aaff">

<script language="JavaScript">
var s1='<embed  src="http://www.vibox.ru/videoPlayer.swf?Id=68264bdb65b97eeae6788aa3348e553c&VID='
var s2='" height="460" width="600" allowFullScreen="true" allowScriptAccess="always">'

function F1()
{
document.form1.m1.value=(s1 + form1.res.value+s2);   // Получаю исходный код в окне textarea
}
function F2()
{
var n = document.form1.m1.value
document.getElementById('q').innerHTML = n           // Неудачная попытка поменять элемент. Почему не получается?
}
function delet ()
{form1.m1.value=''                                   // Очистка окна textarea
}
function Fu(qwe)
{
var a= qwe.res.value
qwe.res.value = (a*1 + 1*1)                          // Увеличение номера на 1
}
function Fg(qwe)
{
var a= qwe.res.value
qwe.res.value = (a*1 - 1*1)                           // Уменьшение номера на 1
}

</script>

<div id='q'><embed  src="http://www.vibox.ru/videoPlayer.swf?Id=68264bdb65b97eeae6788aa3348e553c&VID=9075" height="460" width="600" allowFullScreen="true" allowScriptAccess="always"></embed></div>
<h4>Код клипа</h4>
<FORM name ="form1">
<textarea name="m1" cols=73 rows=5></textarea><br>
<input type="button" value="<<Уменьшить<<" onClick="Fg(form1)" >
<input type="text" size=10 name="res" value="9075">
<input type="button" value=">>Увеличить>>" onClick="Fu(form1)" ><br>

<input type="button" value="Обновить" onClick='F1()' ><br>
<br>
<input type="button" value="Поменять клип" onClick='F2()' >
<br>
</FORM>
</BODY>
</HTML >

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

fordzon 11.04.2011 11:29

Спасибо!!!!!!!
Всё заработало!
:yes:

<div id=q><embed src="http://www.vibox.ru/videoPlayer.swf?Id=68264bdb65b97eeae6788aa3348e553 c&VID=9075" height="460" width="600" allowFullScreen="true" allowScriptAccess="always"></embed></div>


Часовой пояс GMT +3, время: 04:04.