Javascript onclick不是';不工作,我';我什么也得不到

Javascript onclick不是';不工作,我';我什么也得不到,javascript,php,html,onclick,Javascript,Php,Html,Onclick,我正在尝试更改按钮的select queryonclick 表中的表名和字段名等于page=(About,ContactInformation)后的片段 我没有得到任何错误,也没有得到任何结果 索引页代码: function selectQuery(str) { if (str == "") { document.getElementById("editor").innerHTML = ""; return; } else { i

我正在尝试更改按钮的select query
onclick

表中的表名和字段名等于page=(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>
函数选择查询(str){
如果(str==“”){
document.getElementById(“编辑器”).innerHTML=“”;
返回;
}否则{
if(window.XMLHttpRequest){
//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}否则{
//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
document.getElementById(“编辑器”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”、“querys.php?page=“+str,true”);
xmlhttp.send();
}
}
querys.php页面(我似乎无法获得$page的值):



我做错了什么?

它起作用了。添加返回false并将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>

函数selectQuery(str){
如果(str==“”){
document.getElementById(“编辑器”).innerHTML=“”;
返回;
}否则{
if(window.XMLHttpRequest){
//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}否则{
//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
document.getElementById(“编辑器”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”、“querys.php?page=“+str,true”);
xmlhttp.send();
}
}

querys.php

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

您不能为锚定标记使用
,因为锚定标记未定义
,您必须将
字符串传递到锚定标记中
在单击锚定标记时动态构造字符串
。当前为您
此值
将给出
未定义的
,并使用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>

函数selectQuery(str){
如果(str==“”){
document.getElementById(“编辑器”).innerHTML=“”;
返回;
}否则{
if(window.XMLHttpRequest){
//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}否则{
//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
document.getElementById(“编辑器”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”、“submit.php?page=“+str,true”);
xmlhttp.send();
}
}


您可以这样做:

函数选择查询(obj){
var value=obj.getAttribute('data-value');
如果(值==“”){
document.getElementById(“编辑器”).innerHTML=“”;
返回;
}否则{
if(window.XMLHttpRequest){
//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}否则{
//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
document.getElementById(“编辑器”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”、“querys.php?page=“+value,true”);
xmlhttp.send();
返回false;
}
}

可能您缺少返回false;在onclick等中的selectQuery()之后?不确定为什么$page是整数?它不应该是一根绳子吗?为什么要换一根锚?和onchange=“selectQuery()”没有参数作为put。。?在第一个锚点中,您使用了这个。值,但锚点没有值我说的是单击时忘记更改,这甚至不是以后设置的。@MightyPork是正确的,您需要类似于
onclick=“selectQuery(this.value);return false;”“
的内容,以避免重新加载页面而导致您看不到结果。
<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>