我有一个html页面,其表单设置如下:
<form name="form" action="process.php" method="POST">
Username: <input type="text" name="user">
<br>
Password: <input type="text" name="pass">
<br>
<input type="submit" value="LOGIN">
</form>
当我点击我的提交按钮时,数据会被发送到我的process.php脚本,这一切都很好。
但我想做的是将一个JSON字符串发送到PHP脚本,并让PHP脚本解析它。 因此,我尝试了以下内容:
<body>
PLEASE ENTER YOUR INFORMATION:
<form name="form" action="">
Username: <input type="text" name="user">
<br>
Password: <input type="text" name="pass">
<br>
<input type="submit" value="LOGIN" onclick="encrypt(this.form, 0)">
</form>
</body>
<script LANGUAGE="JavaScript">
function encrypt(form, key){
var user = form.user.value;
var pass = form.pass.value;
var str = {"username": user, "encrypted_password": pass};
var JSON_str = JSON.stringify(str);
var xhr = new XMLHttpRequest();
xhr.open("POST", "process.php", true);
xhr.send(JSON_str);
}
</script>
然而,这样做并没有做任何事情。当我单击提交按钮时没有任何反应。即使我可以在单击提交按钮时让process.php显示某些内容,这将非常有用。
谢谢!
答案 0 :(得分:2)
如果你想使用onclick事件,那么你需要用按钮替换提交。
<input type="button" value="LOGIN" onclick="encrypt(this.form, 0)">
并使用javascript提交表单。