我有一个指向POST变量的 sign_up.php 脚本,如下所示:
include "index.php";
$first_name = $_POST["first_name"];
$last_name = $_POST["last_name"];
$email = $_POST["email"];
$password = password_hash($_POST["password"], PASSWORD_BCRYPT);
其中index.php
包含实际标记和ajax代码,如下所示:
<div id=form-div>
<form method=POST action="" >
First Name: <br> <input type=text name=first_name pattern="[a-z]{2,}" required /> <br> <br>
Last Name: <br> <input type=text name=last_name pattern="[a-z]{2,}" required /> <br> <br>
Email: <span id=emailReport></span> <br> <input type=email name=email id=email required /> <br> <br>
Password: <br> <input type=password name=password required pattern=".{6,}" title="Password must be six or more characters" /> <br> <br>
Confirm password: <br> <input type=password name=password required /> <br> <br>
<input type=submit value='sign up' />
</form>
</div>
<script>
$('form input:last-child').click(function(e){
e.preventDefault();
$('#hidden').load("sign_up.php"); // hidden is a display:none div on the same page
});
</script>
但是, sign_up.php 脚本最终不会选择任何变量,并且会为所有这些字段返回未定义的通知级警告。是否不可能选择那样的变量?
PS: sign_up.php脚本本身不包含任何输出,只是处理所包含脚本所需变量的详细信息。 的奖金: 前两个正则表达式模式不能匹配两个或多个字母。事实上它什么都不匹配。
答案 0 :(得分:0)
您需要在致电.load()
时发送表单字段。
$("#hidden").load("sign_up.php", $("#form-div form").serialize());