Нужна помощь с JavaScript

hubabuba
На сайте с 27.05.2006
Offline
82
628

Помогите разобраться почему неработает скрипт на яваскрипт.

Нашел пример работы скрипта с подкачкой данных методом Аякс, вот рабочий вариант:

<script type="text/javascript">

function showContent(contentID) {

if (contentID=="") {

document.getElementById("innerTEXT").innerHTML="";

return;

}

if (window.XMLHttpRequest) {

// code for IE7+, Firefox, Chrome, Opera, Safari

xmlhttp=new XMLHttpRequest();

} else { // code for IE6, IE5

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.onreadystatechange=function() {

if (xmlhttp.readyState==4 && xmlhttp.status==200) {

document.getElementById("innerTEXT").innerHTML=xmlhttp.responseText;

}

}

xmlhttp.open("GET","http://SCRIPT.php?q="+contentID,true);

xmlhttp.send();

}

</script>

<div id="innerTEXT">Text to replace with Ajaks.. <a href="#" onclick="showContent(175);return false;">More</a></div>

Все просто при клике на ссылку "More" содержимое <div id="innerTEXT"> переписывается текстом что выдает РНР скрипт "http://SCRIPT.php?q="+contentID

Пример работает отлично!

Но реальность такова что мне на странице нужно несколько таких блоков, и чтобы упростить я добавил еще одну переменную в следующем примере:

<script type="text/javascript">

function showContent(VAR1, VAR2) {

if (VAR1=="") {

document.getElementById(VAR2).innerHTML="";

return;

}

if (window.XMLHttpRequest) {

// code for IE7+, Firefox, Chrome, Opera, Safari

xmlhttp=new XMLHttpRequest();

} else { // code for IE6, IE5

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.onreadystatechange=function() {

if (xmlhttp.readyState==4 && xmlhttp.status==200) {

document.getElementById(VAR2).innerHTML=xmlhttp.responseText;

}

}

xmlhttp.open("GET","http://SCRIPT.php?q="+VAR1,true);

xmlhttp.send();

}

</script>

<div id="innerTEXT1">Text to replace with Ajaks.. <a href="#" onclick="showContent(175,innerTEXT1);return false;">More</a></div>

<div id="innerTEXT2">Text to replace with Ajaks.. <a href="#" onclick="showContent(319,innerTEXT2);return false;">More</a></div>

Но увы этот пример неработает! Буду благодарен если кто подскажет в чем проблнма..

Каталог сайтов (http://www.edirectory.ru) - Edirectory.RU
siv1987
На сайте с 02.04.2009
Offline
427
#1

getElementById('#'+VAR2)

showContent(175, 'innerTEXT1')

MP
На сайте с 07.11.2014
Offline
74
#2
siv1987:
getElementById('#'+VAR2)

в document.getElementById не нужна решетка, в исходном примере тут все ок

проблема видимо только в отсутствии кавычек при передаче айдишника

siv1987
На сайте с 02.04.2009
Offline
427
#3
MrPacman:
в document.getElementById не нужна решетка, в исходном примере тут все ок

Да, что-то с селектором перепутал.

hubabuba
На сайте с 27.05.2006
Offline
82
#4

Спасибо!

Одинарные ковычки решили проблему.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий