我在html文件中有表单,它是文件正文
<form action="" method="post">
<input id="name" type="text" name="username" placeholder="username" required></br></br>
<input id="password" type="password" name="password" placeholder="password" required></br></br>
<p id="warn"></p></br></br>
<input type="submit" value="Login" onclick="f()"></br>
</form>
<script>
function f() {
var name = document.getElementById("name").value ;
var password = document.getElementById("password").value ;
var xttp = new XMLHttpRequest();
xttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("warn").innerHTML = this.responseText ;
}
};
xttp.open("GET", "tst1.php?name="+name+"& password"+password, true);
xttp.send();
}
</script>
我有php文件调用tst1.php
<?php
echo $_REQUEST["name"]+"...."+$_REQUEST["password"]
?>
我试图使用ajax在p标签中显示输入的值,ID =&#34;警告&#34; 但它没有表现出来
答案 0 :(得分:3)
您需要在代码中更改一些内容,例如:
echo $_REQUEST["name"]+"...."+$_REQUEST["password"]
,+
不是连接运算符,.
是。所以这句话应该是这样的:
echo $_REQUEST["name"] . "...." . $_REQUEST["password"];
在此语句=
中password
后遗失xttp.open("GET", "tst1.php?name="+name+"& password"+password, true);
个符号。这句话应该是这样的:
xttp.open("GET", "post.php?name="+name+"&password="+password, true);
在调用false
函数后立即返回f()
,否则页面会刷新,您将无法在<p id="warn"></p>
看到输出值。
<input ... onclick="f(); return false;">
答案 1 :(得分:0)
首先,您忘记了=
密码等号
xttp.open("GET", "tst1.php?name="+name+"& password="+password, true);
xttp.send();
此外,您应该首先按照isset
检查请求数据
$name = isset($_REQUEST["name"]): $_REQUEST["name"] : "";
同时将button
中的提交按钮更改为submit
以使ajax工作