2013-10-16 42 views
0

我在頁面上有一個表單需要在我的網站的服務器上調用一個php腳本(它位於web根目錄下),還需要調用一個外部jsp腳本在另一個網站的服務器上。我知道我不能只把兩個物品放入<form action="...",但我無法想出一個辦法來完成這件事。這兩個腳本都需要接收表單提交的變量。從html表單動作調用JSP腳本和php腳本

編輯:我在這裏犯了一個錯誤。我很抱歉,但我認爲它是JavaScript,它實際上是JSP。我修改了我的帖子,修復了我提到的所有JavaScript地方。

回答

0

您可以將onclick事件處理程序添加到提交按鈕,並在那裏包含您需要在提交之前執行所需的所有JavaScript。

希望有幫助。

UPDATE:

你修改你的問題,你要張貼到來自同一客戶端/網頁2個服務器端點同時我意識到以後。

在這種情況下

我建議你:

  1. 沒有使用<form>
  2. 包括jQuery

如下:

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 
<script type="text/javascript"> 
$(function(){ 
    $('#btnSubmit').click(function(){ 

     // set urls 
     var url1 = 'http://php.url.com', 
      url2 = 'http://jsp.url.com'; 

     // prepare data 
     var data = { 
      'field1' : 'val1', 
      'field2' : 2 
     } 

     // prepare callback (one callback for both requests) 
     var callback = function(data) { 
      console.log('request ended with data: ' + data); 
     } 

     // send post requests to both servers with the same data payload 
     $.post(url1, data, callback); 
     $.post(url2, data, callback); 
    }); 
}); 
</script> 

<input type="button" id="btnSubmit" value="Submit" /> 

這種方法,點擊按鈕將發送2個異步發佈請求,其中一個發送給每個服務器端點等。

希望有幫助。

+0

請參閱我的編輯,我在我的原始描述中犯了一個錯誤。 –

+0

iv'e編輯我的asnwer – geevee

0

你不會發布到「javascript文件」。 JavaScript需要在HTML中進行託管。所以我不知道你是否需要在你的html文件中包含js文件,然後調用一個函數,或者如果你真的意味着要發佈到另一個服務器上的另一個hmtl文件。

要具體回答,可以製作2個表格並提交其中的每一個。

用jquery你可以動態地創建一個表單並提交它。使用post作爲方法,沒有得到。

$('<form>', { 
    "id": "getInvoiceImage", 
    "html": '<input type="text" id="componentInvoicId" name="componentInvoicId" value="' + componentInvoiceId + '" />', 
    "action": window.siteRoot + 'ComponentInvoice/GetInvoiceImage/' 
}).appendTo(document.body).submit(); 
+0

請參閱我的編輯,我在我的原始描述中犯了一個錯誤。 –

+0

那麼,你可以使用表單向jsp發送數據吧?所以你仍然需要提交2個單獨的表格。就像Gal V所說的那樣,你可以通過點擊並用jquery創建一個新表單,然後將它提交給jsp,然後它會執行php – AwokeKnowing

+0

的正常提交,這聽起來不錯。我會盡力實施,然後我會回到你身邊。 –