Javascript/jQuery注册表单问题
好吧,我的剧本有问题,不确定问题是什么,我眼中的一切似乎都在检查。但希望你们能知道问题是什么(我没有让PHP脚本将注册提交到数据库,但脚本永远不会返回) 所以问题基本上是,在点击注册按钮后,它什么也不做,没有错误日志,什么也不显示 这是位于c:/website/@account/Register.php的Register.php文件Javascript/jQuery注册表单问题,javascript,php,jquery,Javascript,Php,Jquery,好吧,我的剧本有问题,不确定问题是什么,我眼中的一切似乎都在检查。但希望你们能知道问题是什么(我没有让PHP脚本将注册提交到数据库,但脚本永远不会返回) 所以问题基本上是,在点击注册按钮后,它什么也不做,没有错误日志,什么也不显示 这是位于c:/website/@account/Register.php的Register.php文件 <?php include("@includes/database.php"); include("@includes/init.ph
<?php
include("@includes/database.php");
include("@includes/init.php");
$x1 = rand(2,15);
$x2 = rand(1,14);
//Get Captcha Answer
$first = $x1;
$second = $x2;
$answer = $first + $second;
if ($user -> LoggedIn())
{
header('Location: index.php?page=Dashboard');
}
?>
<!DOCTYPE html>
<html class="no-js">
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Business Name | Registration</title>
<link href="https://fonts.googleapis.com/css?family=Roboto:400,300,100,500,700,900" rel="stylesheet" type="text/css">
<link href="@assets/css/icons/icomoon/styles.css" rel="stylesheet" type="text/css">
<link href="@assets/css/bootstrap.css" rel="stylesheet" type="text/css">
<link href="@assets/css/core.css" rel="stylesheet" type="text/css">
<link href="@assets/css/components.css" rel="stylesheet" type="text/css">
<link href="@assets/css/colors.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="@assets/js/plugins/loaders/pace.min.js"></script>
<script type="text/javascript" src="@assets/js/core/libraries/jquery.min.js"></script>
<script type="text/javascript" src="@assets/js/core/libraries/bootstrap.min.js"></script>
<script type="text/javascript" src="@assets/js/plugins/loaders/blockui.min.js"></script>
<script type="text/javascript" src="@assets/js/plugins/forms/styling/uniform.min.js"></script>
<script type="text/javascript" src="@assets/js/core/app.js"></script>
<script type="text/javascript" src="@assets/js/pages/login.js"></script>
<script>
function register()
{
var username=$('#username').val();
var password=$('#password').val();
var rpassword=$('#rpassword').val();
var email=$('#email').val();
var captcharesult=$('#captcharesult').val();
var answer="<?php echo $answer; ?>";
document.getElementById("registerdiv").style.display="none";
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("registerdiv").innerHTML=xmlhttp.responseText;
document.getElementById("registerdiv").style.display="inline";
if (xmlhttp.responseText.search("Redirecting") != -1)
{
setInterval(function(){window.location="google.com"},3000);
}
}
}
xmlhttp.open("POST","login.php?type=register",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("username=" + username + "&password=" + password + "&repeatpassword=" + repeatpassword + "&email=" + email + "&captcharesult=" + captcharesult + "&answer=" + answer);
}
</script>
</head>
<body>
<div class="page-container login-container">
<div class="page-content">
<div class="content-wrapper">
<div class="content">
<!-- Advanced login -->
<form method="post" action="" name="register">
<div class="panel panel-body login-form">
<div class="text-center">
<h5 class="content-group">Business Name <small class="display-block">Account Registration</small></h5>
<div id="registerdiv" style="display:inline"></div>
</div>
<div class="form-group has-feedback has-feedback-left">
<input type="text" class="form-control" name="username" id="username" placeholder="Username">
<div class="form-control-feedback">
<i class="icon-user-check text-muted"></i>
</div>
</div>
<div class="form-group has-feedback has-feedback-left">
<input type="text" class="form-control" name="email" id="email" placeholder="Email Address">
<div class="form-control-feedback">
<i class="icon-mail5 text-muted"></i>
</div>
</div>
<div class="form-group has-feedback has-feedback-left">
<input type="password" class="form-control" name="password" id="password" placeholder="Password">
<div class="form-control-feedback">
<i class="icon-lock2 text-muted"></i>
</div>
</div>
<div class="form-group has-feedback has-feedback-left">
<input type="password" class="form-control" name="repeatpassword" id="repeatpassword" placeholder="Repeat Password">
<div class="form-control-feedback">
<i class="icon-lock2 text-muted"></i>
</div>
</div>
<div class="form-group has-feedback has-feedback-left">
<input type="text" class="form-control" name="captcharesult" id="captcharesult" placeholder="<?php echo ''.$x1.'+'.$x2.'?'; ?>">
<div class="form-control-feedback">
<i class="icon-info3 text-muted"></i>
</div>
</div>
<input name="one" type="hidden" value="<?php echo $x1; ?>" />
<input name="two" type="hidden" value="<?php echo $x2; ?>" />
<button type="button" onclick="register()"class="btn bg-primary btn-block btn-lg">Register</button>
<button name="login" id="login" type="submit" class="btn bg-success btn-block btn-lg">Login</button>
</div>
</form>
<center>
<div class="text-muted">
© 2015-<?php echo date('Y'); ?> <a href="https://Business Name.com/">Business Name</a>
</div>
</center>
</div>
</div>
</div>
</div>
</body>
</html>
企业名称|注册
函数寄存器()
{
var username=$('#username').val();
var password=$('#password').val();
var rpassword=$('#rpassword').val();
var email=$('#email').val();
var captcharesult=$('#captcharesult').val();
var-answer=“”;
document.getElementById(“registerdiv”).style.display=“无”;
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(“registerdiv”).innerHTML=xmlhttp.responseText;
document.getElementById(“registerdiv”).style.display=“inline”;
if(xmlhttp.responseText.search(“重定向”)!=-1)
{
setInterval(function(){window.location=“google.com”},3000);
}
}
}
open(“POST”,“login.php?type=register”,true);
setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
xmlhttp.send(“username=“+username+”&password=“+password+”&repeatpassword=“+repeatpassword+”&email=“+email+”&captcharesult=“+captcharesult+”&answer=“+answer”);
}
商号户口登记
我想指出几点。首先,当您单击“注册”按钮时,会出现以下错误:
TypeError:寄存器不是函数
原因是,html代码中的
标记与函数名一样具有name=“register”
。正因为如此,一些浏览器可以通过在js代码中指定名称来访问节点元素,然后定义的函数被DOM中的元素覆盖
因此,您需要更改
标记中的函数名或属性name
。我已将函数名从register()
更改为registation()
其次,更改var rpassword=$('#rpassword').val()
tovar rpassword=$('#repeatpassword').val()代码>
第三,在send()
函数中,将..”和repeatpassword=“+repeatpassword+”&email=“…
更改为..”和repeatpassword=“+rpassword+”&email=“…
解决方案:
您的HTML和JavaScript代码应如下所示:
// your code
<button type="button" onclick="registration()" class="btn bg-primary btn-block btn-lg">Register</button>
// your code
<script>
function registration(){
var username=$('#username').val();
var password=$('#password').val();
var rpassword=$('#repeatpassword').val();
var email=$('#email').val();
var captcharesult=$('#captcharesult').val();
var answer="<?php echo $answer; ?>";
document.getElementById("registerdiv").style.display="none";
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("registerdiv").innerHTML=xmlhttp.responseText;
document.getElementById("registerdiv").style.display="inline";
if (xmlhttp.responseText.search("Redirecting") != -1){
setInterval(function(){window.location="google.com"},3000);
}
}
}
xmlhttp.open("POST","login.php?type=register",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("username=" + username + "&password=" + password + "&repeatpassword=" + rpassword + "&email=" + email + "&captcharesult=" + captcharesult + "&answer=" + answer);
}
</script>
<?php
if(isset($_POST['answer']) && isset($_POST['captcharesult']) && isset($_POST['email']) && isset($_POST['password']) && isset($_POST['repeatpassword']) && isset($_POST['username'])){
if(isset($_GET['type']) && $_GET['type'] == "register"){
//Get Registration Info
$username = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];
$repeatpassword = $_POST['repeatpassword'];
$captcharesult = $_POST['captcharesult'];
// now the rest of your code
}
}
?>
//您的代码
登记
//你的代码
函数注册(){
var username=$('#username').val();
var password=$('#password').val();
var rpassword=$('#repeatpassword').val();
var email=$('#email').val();
var captcharesult=$('#captcharesult').val();
var-answer=“”;
document.getElementById(“registerdiv”).style.display=“无”;
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(“registerdiv”).innerHTML=xmlhttp.responseText;
document.getElementById(“registerdiv”).style.display=“inline”;
if(xmlhttp.responseText.search(“重定向”)!=-1){
setInterval(function(){window.location=“google.com”},3000);
}
}
}
open(“POST”,“login.php?type=register”,true);
setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
xmlhttp.send(“username=“+username+”&password=“+password+”&repeatpassword=“+rpassword+”&email=“+email+”&captcharesult=“+captch
<?php
if(isset($_POST['answer']) && isset($_POST['captcharesult']) && isset($_POST['email']) && isset($_POST['password']) && isset($_POST['repeatpassword']) && isset($_POST['username'])){
if(isset($_GET['type']) && $_GET['type'] == "register"){
//Get Registration Info
$username = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];
$repeatpassword = $_POST['repeatpassword'];
$captcharesult = $_POST['captcharesult'];
// now the rest of your code
}
}
?>