Я пытаюсь изменить запрос выбора 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> About us</a>
</li>
<li><a href="?page=ContactInformation" onchange="selectQuery()">
<i class="fa fa-list-alt"></i> Contact us</a>
</li>
</ul>
страница query.php (кажется, я не могу получить значение $ page):
<?php
$page = intval($_GET['page']);
echo $page;
?>
Что я делаю неправильно?
Вы можете сделать это так:
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> About us</a>
</li>
</ul>
<div id="editor"></div>
вы не можете использовать 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> About us</a></li>
<li><a href="?page=ContactInformation" onchange="selectQuery(this.value)"><i class="fa fa-list-alt"></i> Contact us</a></li>
</ul>
<p id="editor"></p>
не используйте значение на. установить атрибут данных или использовать значение непосредственно в функции 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> About us</a></li>
<li><a href="?page=ContactInformation" onchange="selectQuery()"><i class="fa fa-list-alt"></i> Contact us</a></li>
</ul>
<p id="editor"></p>
queries.php
<?php
if (isset($_GET['page'])) {
echo $_GET['page'];
}
?>