-1

嗨专家,

          I am looking to submit two forms with one submit button and sending data to

两个不同的位置。我不知道在哪里可能,但我相信你们的专家会为这个问题提供一些解决方案。非常感谢您提前提供的帮助,请在下面找到代码。

表单 1(登录)正在向 login.php 发送数据,表单 2(捕获登录)正在向 CRM 文件 capture.php 发送数据。

 echo "<center><form name=login method=post action=getlogin.php>" ;
 echo "<table border=0 cellpadding=5>";
 echo "<tr><td>Email</td>";
 echo "<td><input type=text name=l_email size=35></td></tr>";
 echo "<tr><td>Password </td>";
 echo "<td><input type=password name=l_password size=35></td></tr>";
 echo "<form name=Capture Login action=//localhost:8888/modules/Webforms/capture.php      method=post accept-charset=utf-8>"; 
 echo "<input type=hidden name=publicid value=ec556b63988fbf6a793a1e1cf2238ef0>     </input>"; 
 echo "<input type=hidden name=name value=Capture Login></input>"; 
 echo " </p>"; 
 echo " <p>"; 
 echo " <label>Last Name</label>"; 
 echo " <input type=text name=lastname required=true>"; 
 echo " </p>"; 
 echo " <p>"; 
 echo "<label>Company</label>"; 
 echo "<input type=text name=company required=true>"; 
 echo " </p>"; 
 echo " <p>"; 
 echo "<tr><td><input type=submit value='Login'></td>";
 echo "<td><input type=reset value='Clear Form'></td></tr>";
 echo "</table>";
 echo "</form>";
 echo "</form></center>";
4

2 回答 2

0

好的负载不同的选项来做到这一点:

1) 将 2 个表单发布到 2 个不同的 URL。2) 将 1 个表单发布到 2 个不同的 URL。3) 将 1 个表单发布到 1 个 URL,然后进行登录和 CRM(推荐)。

为什么是3号?因为做 1 的请求比 2 好,尤其是在慢速连接上。这肯定是最好的做法,但话虽如此,我想你可能想要做 2 个不同的帖子是有原因的。

所以假设你有基本的jquery知识:

var form_one = $("#form_one").serialize();
    $.ajax({
        url: "url_one.php",
        type: "post",
        data: form_one,
        success: function(){

            $.ajax({
                url: "url_one.php",
                type: "post",
                data: form_one,
                success: function(){
                    alert("success");
                    $("#result").html('Submitted successfully');
                },
                error:function(){
                    alert("failure");
                    $("#result").html('error with second form');
                }
            });
        },
        error:function(){
            alert("failure");
            $("#result").html('Error with first form');
        }
    });

所以我正在做的是:

  • 当您单击提交按钮时
  • 我序列化第一个表格并发布
  • 如果成功,我将第二个表单序列化并发布。

话虽如此,不好的做法。向一个 URL 提交一份表格,然后让 php 执行这两种逻辑!

于 2013-08-22T12:48:10.033 回答
0

首先你不能把两个表格放在一起,

您可以做的是使用一个表单添加类并使用 javascript 向您的两个脚本提交值,如果您需要帮助,请毫不犹豫地询问。

例子

html

<form id="login-form" action="/loginurl" >
    <input type="text" name="username">
    <input type="password" name="password">
    <input type="hidden" name="publicid" value="ec556b63988fbf6a793a1e1cf2238ef0"> 
    <input type="hidden" name="name" value="Capture Login">
    <input type="text" name="lastname" required="true">
    <input type="reset" value="Clear Form">
</form>

javascript

function processForm() {
    //this function should make an ajax call to /modules/Webforms/capture.php
    //then submit the form by calling this.submit();
    return false;
}

var form = document.getElementById('login-form');
if (form.attachEvent) {
    form.attachEvent("submit", processForm);
} else {
    form.addEventListener("submit", processForm);
}
于 2013-08-22T12:13:47.127 回答