2015-05-11 337 views
2

我有這種形式從ZOHO CRM:下載PDF文件提交

<div id='crmWebToEntityForm' align='center'> 
     <META HTTP-EQUIV ='content-type' CONTENT='text/html;charset = UTF-8'> 
     <form action='http://crm.zoho.com/crm/WebToLeadForm' name=WebToLeads1041232000000749005 method='POST' onSubmit='javascript:document.charset="UTF-8"; return checkMandatery()' accept-charset='UTF-8'> 
      <input type='text' style='display:none;' name='xnQsjsdp' value='fbc5a29ead008c324c3a5bad0887e5bf1f95d083f11d4251a6f8aa5a236fd104'/> 
      <input type='hidden' name='zc_gad' id='zc_gad' value=''/> 
      <input type='text' style='display:none;' name='xmIwtLD' value='eecaf957dfe7083c05ed797b5ed94512300831df6a467c5c0dca55e1967f2eae'/> 
      <input type='text' style='display:none;' name='actionType' value='TGVhZHM='/> 
      <input type='text' style='display:none;' name='returnURL' value='http://www.example.com/sucess-page' /> 
      <br> 

      <table border=0 cellspacing=0 cellpadding='6' width=600 style='background-color:white;color:black'> 
       <tr> 
        <td colspan='2' align='left' style='color:black;font-family:Arial;font-size:14px;'><strong>After Radical</strong></td> 
       </tr> 
       <br> 
       <tr> 
        <td nowrap='nowrap' align='left' style='font-size:12px;font-family:Arial;width:200px;'>Nombre </td><td style='width:250px;' ><input type='text' style='width:250px;' maxlength='40' name='First Name' /></td> 
       </tr> 
       <tr> 
        <td colspan='2' align='center' style='padding-top: 15px;' > 
         <input style='font-size:12px;color:black' type='submit' value='Submit' /> 
         <input type='reset' style='font-size:12px;color:black' value='Reset' /> </td> 
       </tr> 
      </table> 
     </form> 
    </div> 

我想實現的是,在提交,用戶下載在同一頁上的PDF文件。我需要這樣做,以避免轉到其他頁面,讓他們複製URL來下載文件,而不使用/發送表單。

表單的實際行爲是在提交時將用戶發送到http://crm.zoho.com/crm/WebToLeadForm,並將加載返回到輸入值爲http://www.example.com/sucess-page的頁面。此頁面與用戶發送表單的位置不同。

我試圖改變這個:

form action='http://crm.zoho.com/crm/WebToLeadForm

這樣:

form action='http://www.example.com/myfile.pdf

它的工作原理下載同一個頁面上的PDF(我以前添加這htaccess的:AddType application/octet-stream .pdf)但是然後表單不會將用戶信息發送到zoho crm管理。

任何想法如何實現這一目標?也許jQuery替代?

回答

0

將表單發佈到同一頁面。然後在你的PHP代碼中,檢查表單是否已經提交。如果有,使用cURL將相同的數據發佈到crm頁面,然後回顯PDF鏈接。

例子:

<form method="post" action="?"> 
    ... 
</form> 

然後檢查是否表單被提交...

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    curlPostFunction(); 
    echo "<a href='http://example.com/example.pdf'>Click to download</a>"; 
} 

閱讀此鏈接瞭解如何創建一個函數使用捲曲發佈更多信息: cURL Post

請注意,這只是一個基本的例子 - 您的代碼應該包括更多的檢查,根據您希望實現的安全程度。

+0

感謝您的回答。在提交表單和頁面加載後,我收到了這個錯誤:'致命錯誤:調用未定義的函數curlPostFunction()'另外我不需要保護這個文件。 – propcode

+0

curlPostFunction()只是我包含的一個例子,因爲我沒有時間爲您寫出整個函數。你需要自己創建一個實際的函數來發布數據。請檢查我包含的鏈接如何做到這一點。 –