Javascript 将表单值保存到另一个PHP页面

Javascript 将表单值保存到另一个PHP页面,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有一段Javascript: <script type="text/javascript" src="sha512.js"></script> <script type="text/javascript" src="forms.js"></script> <script> function loadXMLDoc(form, password) { var xm

我有一段Javascript:

<script type="text/javascript" src="sha512.js"></script>
<script type="text/javascript" src="forms.js"></script>

<script>
            function loadXMLDoc(form, password) 
            {
            var xmlhttp;
            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("myDiv").innerHTML=xmlhttp.responseText;
                   formhash(form, password);
               }
              }
            xmlhttp.open("POST","post.php",true);
            xmlhttp.send();
            }
</script>

函数loadXMLDoc(表单、密码)
{
var-xmlhttp;
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(“myDiv”).innerHTML=xmlhttp.responseText;
formhash(表单、密码);
}
}
open(“POST”,“POST.php”,true);
xmlhttp.send();
}
还有一些HTML:

<div id="myDiv">
    <form action="register.php" method="post">
       Email: <input type="text" name="email" /><br />
       Username: <input type="text" name="username" /><br />
       Password: <input type="password" name="p" id="password" /><br />
       <input type="button" value="Register" onclick="loadXMLDoc(this.form, this.form.password);" />
    </form>
</div>

电子邮件:
用户名:
密码:
上面的Javascript代码的任务是使用PHP运行一些Ajax,然后运行加密函数(formhash)。 运行Ajax时,它会读取一个名为“post.php”的页面。post.php的任务是在密码加密之前检查是否有任何字段为空


我的问题是post.php记不起上面发布的注册表表单中有任何值。php必须记住用户在字段中键入的内容,以便查看字段是否为空。关于如何将这些值传输到post.php文件,有什么想法吗

看起来您没有向以下行中的服务器提交任何数据:

            xmlhttp.open("POST","post.php",true);
您可以尝试以下代码来发送数据:

xmlhttp.open("POST","post.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("email=e@gmail.com&username=Ford&p=pass123");
您可以尝试:

   parameters= 'username='+ form.elements[0].value +'&' +'password=' +form.elements[1].value ;
   xmlhttp.open("POST","post.php",true);
   xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
   xmlhttp.send(parameters);

xmlhttp.send(字符串)
如果您使用的是
POST
方法,则应在
send()
函数中手动生成作为字符串传递的查询字符串<代码>例如var post\u query\u string=“电子邮件=abc@gmail.com&名称=abc&p=myp”;send(post\u query\u字符串)啊,太棒了,电子邮件是关于什么的?我刚刚传递了所有表单元素。我认为您只需要密码。这看起来很简单,它会将参数传输到post.php文档吗?稍后我将不得不尝试一下,您将在堆栈警察提供w3schools资源时遇到麻烦-无论此特定信息是否准确。这很有效,我只需将密码参数更改为2,因为表单以电子邮件(0)、用户名(1)和密码(2)开头。