Javascript onclick不是';不工作,我';我什么也得不到
我正在尝试更改按钮的select queryJavascript 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
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> About us</a>
</li>
<li><a href="?page=ContactInformation" onchange="selectQuery()">
<i class="fa fa-list-alt"></i> 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> 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>
函数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> 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>
函数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> 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>