Javascript Jquery post函数不能处理两个表单和两个post请求
我试图在我编写的javascript/jquery脚本中添加第二个表单,但是,当我实现并开始测试它时,当我试图通过jquery post请求发送公司表单时,它会发送get请求。我知道这与第二个表单有关,因为为第二个表单注释脚本会使站点再次工作。希望一双新鲜的眼睛能帮上忙!(loadpage功能也可以工作) 寄存器功能似乎是问题所在:Javascript Jquery post函数不能处理两个表单和两个post请求,javascript,jquery,ajax,forms,jquery-post,Javascript,Jquery,Ajax,Forms,Jquery Post,我试图在我编写的javascript/jquery脚本中添加第二个表单,但是,当我实现并开始测试它时,当我试图通过jquery post请求发送公司表单时,它会发送get请求。我知道这与第二个表单有关,因为为第二个表单注释脚本会使站点再次工作。希望一双新鲜的眼睛能帮上忙!(loadpage功能也可以工作) 寄存器功能似乎是问题所在: //when the user first goes to the page $(document).ready(function(){
//when the user first goes to the page
$(document).ready(function(){
var user = $("#username");
var pass = $("#password");
var submit = $("#submit");
//both of these methods work, I'm not sure if one is better than the other
//$("#submitbutton").click(function(event){
$("#loginform").on('submit', function(event){
event.preventDefault();
$('.loginerror').remove();
$.post("login.php", {username:user.val(), password:pass.val()}, function(data){
if(!data)
{
$("#login").append("<h3 class='loginerror'>Incorrect Username or Password</h3>");
}
else
{
loadpage();
}
}, "json");
});
//if the user clicks the username prompt him with the login div
$("#registerbutton").click(function(event){
register();
});
});
function register()
{
$("#login").hide("slow");
$("#registerdiv").css("display", "block");
//initiate some variables
var regusername = $("#regusername");
var reg1password = $("#reg1password");
var reg2password = $("#reg2password");
var regemail = $("#regemail");
var regfirstname = $("#regfirstname");
var reglastname = $("#reglastname");
//TODO: check to make sure form is filled out properly
$("#registerform").on('submit', function(event){
event.preventDefault();
//send post request
$.post("register.php", {regusername:regusername.val(), password1:reg1password.val(), password2:reg2password.val(), email:regemail.val(), firstname:regfirstname.val(), lastname:reglastname.val()}, function(data){
if(!data)
$("#registerdiv").append("<h3> class='loginerror'>Server error, retry</h3>");
else
$("#registerdiv").hide("slow");
$("#loginiv").slidedown("slow");
}, "json");
}
//当用户第一次进入页面时
$(文档).ready(函数(){
var user=$(“#用户名”);
var pass=$(“#密码”);
var提交=$(“#提交”);
//这两种方法都有效,我不确定其中一种是否比另一种好
//$(“#提交按钮”)。单击(函数(事件){
$(“#loginform”)。在('submit',函数(事件){
event.preventDefault();
$('.login错误').remove();
$.post(“login.php”,{username:user.val(),密码:pass.val()},函数(数据){
如果(!数据)
{
$(“#登录”).append(“不正确的用户名或密码”);
}
其他的
{
loadpage();
}
}“json”);
});
//如果用户单击用户名,则提示他登录div
$(“#注册表按钮”)。单击(函数(事件){
寄存器();
});
});
函数寄存器()
{
$(“#登录”).hide(“慢”);
$(“#registerdiv”).css(“显示”、“块”);
//启动一些变量
var regusername=$(“#regusername”);
var reg1password=$(“#reg1password”);
var reg2password=$(“#reg2password”);
var regemail=$(“#regemail”);
var regfirstname=$(“#regfirstname”);
var reglastname=$(“#reglastname”);
//TODO:检查以确保表格填写正确
$(“#注册执行”)。在('submit',函数(事件){
event.preventDefault();
//发送邮寄请求
$.post(“register.php”,{regusername:regusername.val(),password1:reg1password.val(),password2:reg2password.val(),email:regemail.val(),firstname:regfirstname.val(),lastname:reglastname.val(),函数(数据){
如果(!数据)
$(“#registerdiv”).append(“class='login错误'>服务器错误,重试”);
其他的
$(“#registerdiv”).hide(“slow”);
$(“#loginiv”)。向下滑动(“慢速”);
}“json”);
}
以下是HTML和两种形式:
<body>
<Div id="welcome"> Welcome </div>
<Div id="login">
<br><br><h2>Welcome to QuotesLib</h2>
<br><br><br><form id="loginform"> Username:
<input type = "text" name = "username" id ="username"> <br> Password:
<input type = "password" name = "password" id = "password"> <br>
<input type = "submit" name="submitbutton" id="submitbutton" class = "bluebutton">
</form>
<form><br><br><br>Don't have an account yet?<br><button id="registerbutton" name="registerbutton" href="register.html">Register Now</button>
</Div>
<Div id="registerdiv">
<br><br><h2>Sign Up For QuotesLib</h2>
<br><form id="registerform"> Username:
<input type ="text" id="regusername"> <br> Password:
<input type ="password" id="reg1password"> <br> Repeat Password:
<input type ="password" id="reg2password"> <br> First Name:
<input type ="text" id="regfirstname"> <br> Last Name:
<input type ="text" id="reglastname"> <br> email:
<input type ="text" id="regEmail"> <br>
<input type ="submit" id ="registersubmitbutton">
<br> </form>
</Div>
欢迎
欢迎来到QuotesLib
用户名:
密码:
还没有帐户吗?
现在注册
注册QuotesLib
用户名:
密码:
重复密码:
名字:
姓氏:
电邮:
如果有人能给我这个问题的答案,那将非常有帮助!$(“#registerdiv”).append(“class='loginerror'>服务器错误,重试”);
$("#registerdiv").append("<h3> class='loginerror'>Server error, retry</h3>");
应该是
$("#registerdiv").append("<h3 class='loginerror'>Server error, retry</h3>");
$(“#registerdiv”).append(“服务器错误,重试”);
请看区别:
…
和代码有一些错误
首先,
<form><br><br><br>Don't have an account yet?<br><button id="registerbutton" name="registerbutton" href="register.html">Register Now</button>
应该是
}, "json");
});
}
我不确定你复印时是否遗漏了
第三,
append方法中的
标记,尽管这与您遇到的问题无关
最好使用一些文本编辑器,这些编辑器可以高亮显示代码、打开标记、结束标记和大括号
你确定没有人可以直接调用loadpage()?确保在服务器端保存一些会话信息。@金森坦白说,我没有使用mac。只需谷歌。如果你觉得我的回答对这个问题有意义,就接受它。
}, "json");
});
}