2013-08-22 50 views
-1

专家你好,2种形式,1提交按钮和2个动作为CRM的目的

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

回答

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); 
} 
+0

非常感谢amdorra,我对PHP很陌生。请帮助我如何使用JavaScript来完成这项任务。 –

+0

我更新了答案,希望它有帮助 – amdorra

+0

我很抱歉amdorra,因为我说我对此很新。这个脚本正在处理一个表单登录表单,而另一个表单以不同的URL捕获登录表单处理。请告知我做错了什么?谢谢 –

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做两个逻辑!

+0

非常感谢Weo,你可以举个小例子。对不起,当你说数据时,我对这个 –

+0

非常陌生:form_one将HTML表单的HTML代码保持与上面我的问题相同吗? –

+0

我认为你的答案可能会工作,但没有一个小例子,我不能将它应用于我的情况 –