Php Ajax使用单个表单提交多个表单';价值观

Php Ajax使用单个表单提交多个表单';价值观,php,ajax,forms,jquery,Php,Ajax,Forms,Jquery,假设我有一些类似的形式: 表格A: <form name="formA"> <input type="text" name="username"> <input type="text" name="password"> </form> 表格B: <div style="display:none;"> <form name="formB"> <input type="text" name="us

假设我有一些类似的形式:

表格A:

<form name="formA">
  <input type="text" name="username">
  <input type="text" name="password">
</form>

表格B:

<div style="display:none;">
  <form name="formB">
    <input type="text" name="username">
    <input type="text" name="password">
  </form>
</div>

表格C:

<div style="display:none;">
 <form name="formC">
    <input type="text" name="username">
    <input type="text" name="password">
 </form>
</div>

表格B和C是隐藏的,因为在用户在表格a中输入用户名和密码后,我还需要使用他们提交的用户名和密码信息,以便在表格B和C中使用,然后立即提交所有表格。这是为了让我可以提交一个登录到我的网站多个部分只用一个登录表单。我该怎么做呢


-谢谢

可以对每个变量名使用多个值。例如:

<form name="formABC">
  <div id="formA">
    <input type="text" name="username[]">
    <input type="text" name="password[]">
  </div>
  <div id="formB" style="display:none;">
    <input type="text" name="username[]">
    <input type="text" name="password[]">
  </div>
  <div id="formC" style="display:none;">
    <input type="text" name="username[]">
    <input type="text" name="password[]">
  </div>
</form>

1)您应该使用
type=“password”
作为密码输入字段

2) 一次不能提交多个表单。仅发送正在提交的表单中的数据。据我所知,您正试图这样做,您需要一个按钮打开三个不同的页面到三个不同的登录表单,以存储三个不同的会话。有更好的方法可以使您的会话(或cookie)跨网站的多个部分工作,例如将会话ID附加到URL,以便每次加载页面时都能使用它


3) 表单需要定义一个
操作

如果登录功能不需要https,可以使用jQuery和插件进行尝试:


$('#formA')。提交(函数(){
var username=$('#usernameA').val();
var password=$('#passwordA').val();
$('#usernameB').val(用户名);
$('#passwordB').val(密码);
$('#usernameC').val(用户名);
$('#passwordC').val(密码);
$('#formB').ajaxForm(函数(){
警报(“您已在B登录”);
});
$('#formC').ajaxForm(函数(){
警报(“您已在C登录”);
}); 
});

当您向服务器发送ajax请求以便在B和C登录时,如果您的服务器在成功登录时发回cookie,我认为您可以这样做:p

谢谢,我意识到我没有在其中输入type=“password”,也没有对表单进行操作;这只是一个例子。有没有什么地方可以让我了解如何将cookie/会话ID附加到url?@MJ93:-但是,我建议在网站的不同部分之间移动时,自己将ID添加到url,而不是使用这些PHP设置。首先,更改字段密码的输入类型text=>password。
<form name="formA" action="actionA">
  <input id="usernameA" type="text" name="username">
  <input id="passwordA" type="password" name="password">
</form>

<div style="display:none;">
  <form name="formB" action="actionB">
    <input id="usernameB" type="text" name="username">
    <input id="passwordB" type="password" name="password">
  </form>
</div>

<div style="display:none;">
  <form name="formC" action="actionC">
    <input id="usernameC" type="text" name="username">
    <input id="passwordC" type="password" name="password">
  </form>
</div>


$('#formA').submit(function() {
    var username = $('#usernameA').val();
    var password = $('#passwordA').val();

    $('#usernameB').val(username);
    $('#passwordB').val(password);
    $('#usernameC').val(username);
    $('#passwordC').val(password);

    $('#formB').ajaxForm(function() { 
        alert("You have been logged in at B"); 
    });
    $('#formC').ajaxForm(function() { 
        alert("You have been logged in at C"); 
    }); 
});