0
<script type="text/javascript">
document.getElementById('s1').onclick=function()
{
var value1 = document.getElementById('input').value;
var aj;
if(window.ActiveXObject)
{
    aj=new ActiveXObject("Microsoft.XMLHTTP");
}
if(window.XMLHttpRequest)
{
    aj=new XMLHttpRequest();
}
aj.onreadystatechange=function()
{
    if(aj.readyState==4 && aj.status==200)
    {

        document.getElementById("output").innerHTML=aj.responseText;
    }
}
aj.open("GET","tstprinajax.php?name="+value1,true);
aj.send();
}
</script>

这对我不起作用。我想获取一个文本框的值并通过单击带有 AJAX 的按钮打印到 div 名称“输出”。

HTML 代码:

<body>
<form action="">
<input type="text" id="input" />
<button id="s1"></button>
<div id="output"></div>
</form>
</body>

tstprinajax.php:

<?php
$q = $_GET["name"];
print "<font size='+6' color='#FF0000'>$q</font>";
?>
4

1 回答 1

0

我怀疑您的问题是页面正在刷新,因为元素的默认type值为buttonsubmit,因此正在提交包含按钮的表单(到同一页面)。button将您的元素更改为:

<button id="s1" type="button"></button>

如果我对服务器响应进行硬编码(因为 JSBin 不允许我实际进行服务器端处理,而且很公平),那么进行该更改会使您的代码正常工作:

实例| 资源

相反,如果没有type="button"您将获得页面刷新:Live Example

于 2013-03-29T17:12:36.520 回答