我在一个页面中有两个表单,如
<form action="login.php" method="POST">
<input type="text" name="username">
<input type="submit" value="submit">
</form>
<form action="login2.php" method="POST">
<input type="text" name="code">
<input type="submit" value="submit">
<form>
唯一可能的登录方式是,
用户无法单独使用用户名登录。
当用户需要使用 用户名和代码 登录时,请求应发送到login.php
,当用户需要使用 仅代码 ,请求应发送到login2.php
。
到目前为止, 代码 方法运行正常,但我不确定,如何提交code
值以及第一个表单的请求,使用JS / JQuery 用户名和代码 方法?
任何帮助将不胜感激:)
答案 0 :(得分:1)
我将表单合并为一个,让服务器端的PHP脚本来决定它是登录方法(1)还是(2)。
if(isset($_POST['username']) && isset($_POST['code'])){
// Username and code login
}
else if (isset($_POST['code'])){
// Code only login
}
或者,使用一些JavaScript从表单中获取表单值以检查用户名是否存在,并将值发布到所需的脚本。使用jQuery,这将是:
$("#loginForm").on("submit", function(e){
var username = $('input[name="username"]).val(),
code = $('input[name="code"]).val(),
login_script = username ? 'login.php' : 'login2.php';
// Prevent form submitting
e.preventDefault();
$.ajax({
url: login_script,
method: 'POST',
data: { username: username, code: code },
success: function(response){
console.dir(response);
},
error: function(jqXHR, textStatus, errorThrown){
console.error(arguments);
}
});