Javascript onclick не работает, и я ничего не получаю

Я пытаюсь изменить запрос выбора onclick кнопки.

Имя таблицы и имена полей в таблице совпадают с фрагментом после страницы = (About, ContactInformation)

Я не получаю ни ошибки, ни результата.

Код индексной страницы:

function selectQuery(str) {
if (str == "") {
document.getElementById("editor").innerHTML = "";
return;
} else {
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("editor").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","queries.php?page="+str,true);
xmlhttp.send();
}
}

<ul>
<li><a href="?page=About" value="About" onclick="selectQuery(this.value)">
<i class="fa fa-file-text"></i>&nbsp;&nbsp;About us</a>
</li>
<li><a href="?page=ContactInformation" onchange="selectQuery()">
<i class="fa fa-list-alt"></i>&nbsp;&nbsp;Contact us</a>
</li>
</ul>

страница query.php (кажется, я не могу получить значение $ page):

<?php
$page = intval($_GET['page']);
echo $page;
?>

Что я делаю неправильно?

-1

Решение

Вы можете сделать это так:

function selectQuery(obj) {
var value = obj.getAttribute('data-value');

if (value == "") {
document.getElementById("editor").innerHTML = "";
return;
} else {
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("editor").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","queries.php?page="+value,true);
xmlhttp.send();
return false;
}
}
<ul>
<li>
<a href="?page=About" data-value="About" onclick="return selectQuery(this);"><i class="fa fa-file-text"></i>&nbsp;&nbsp;About us</a>
</li>
</ul>
<div id="editor"></div>
1

Другие решения

вы не можете использовать value for anchor tag потому что это так not defined для тега привязки, вы должны пройти string inside it или же construct the string dynamically on click of your anchor tag.В настоящее время для вас this.value дам undefinedи используйте return false и # в href.

попробуй так:

<script>
function selectQuery(str) {
if (str == "") {
document.getElementById("editor").innerHTML = "";
return;
} else {
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("editor").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","submit.php?page="+str,true);
xmlhttp.send();
}
}
</script>

<ul>
<li><a href="#" onclick="selectQuery('About');return false;"><i class="fa fa-file-text"></i>&nbsp;&nbsp;About us</a></li>
<li><a href="?page=ContactInformation" onchange="selectQuery(this.value)"><i class="fa fa-list-alt"></i>&nbsp;&nbsp;Contact us</a></li>
</ul>

<p id="editor"></p>
О «onclick =» return selectQuery (this); «><i class = «fa fa-file-text»></я>&NBSP;&nbsp; О нас</ а>
</ li>
</ мкл>
<div id = «редактор»></ дел>[/ NOEDIT]

не используйте значение на. установить атрибут данных или использовать значение непосредственно в функции onclick

Оно работает. добавлять вернуть ложь и замените href на #
index.php

<script>
function selectQuery(str) {
if (str == "") {
document.getElementById("editor").innerHTML = "";
return;
} else {
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("editor").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","queries.php?page="+str,true);
xmlhttp.send();
}
}
</script>

<ul>
<li><a href="#"  onclick="selectQuery('3'); return false;"><i class="fa fa-file-text"></i>&nbsp;&nbsp;About us</a></li>
<li><a href="?page=ContactInformation" onchange="selectQuery()"><i class="fa fa-list-alt"></i>&nbsp;&nbsp;Contact us</a></li>
</ul>
<p id="editor"></p>

queries.php

<?php
if (isset($_GET['page'])) {
echo $_GET['page'];
}
?>
0

0
По вопросам рекламы [email protected]