表格提交与另一个表格的数据

时间:2016-01-03 12:28:37

标签: javascript php jquery html forms

我在一个页面中有两个表单,如

<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>

唯一可能的登录方式是,

  1. 用户名和代码
  2. 仅限代码
  3. 用户无法单独使用用户名登录。

    当用户需要使用 用户名和代码 登录时,请求应发送到login.php,当用户需要使用 仅代码 ,请求应发送到login2.php

    到目前为止, 代码 方法运行正常,但我不确定,如何提交code值以及第一个表单的请求,使用JS / JQuery 用户名和代码 方法?

    任何帮助将不胜感激:)

1 个答案:

答案 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);
        }
});