【问题标题】:2 Forms, 1 Submit Button and 2 actions for CRM purposes用于 CRM 的 2 个表单、1 个提交按钮和 2 个操作
【发布时间】:2013-08-22 12:09:23
【问题描述】:

各位专家,

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

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

Form 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>";

【问题讨论】:

    标签: php forms submit crm


    【解决方案1】:

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

    您可以做的是使用一个表单向其添加类并使用 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);
    }
    

    【讨论】:

    • 非常感谢 amdorra,我对 PHP 很陌生。请帮助我如何使用 javascript 来完成这项任务。
    • 我很抱歉 amdorra,因为我说我对此很陌生。该脚本正在处理一个表单登录表单,另一个表单具有不同的 URL 捕获登录。请告知我做错了什么?谢谢
    • 您应该将捕获登录字段添加到登录表单并使用 ajax 提交其数据以捕获登录,然后将所有数据提交到登录表单
    • 很抱歉再次打扰您,但这只会发送到 1 个 URL,这将如何执行第二个操作并将数据发送到第二个 URL?一个是 login.php,第二个是 capture.php。
    【解决方案2】:

    可以有很多不同的选项来做到这一点:

    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 执行这两个逻辑!

    【讨论】:

    • 非常感谢Weo,你能举个小例子吗?抱歉,我对此很陌生
    • 当你说 data: form_one 时,表单的 HTML 代码会和我上面的问题一样吗??
    • 我认为您的答案可能有效,但如果没有一个小例子,我无法将其应用于我的情况
    • 好的,在那里修复它,您会将一个表单 (form_one) 发布到两个 URL。您需要让一个 PHP 脚本完成两者都在做的事情,我无法帮助您,因为我会为您完成工作。
    • 好的,当你说 data: form_one 时,这是什么意思?是不是类似
    猜你喜欢
    • 2019-01-10
    • 1970-01-01
    • 2013-05-20
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多