从html表单操作调用JSP脚本和php脚本

时间:2013-10-16 18:22:08

标签: php jsp html-form html-form-post

我在页面上有一个表单,需要在我的网站服务器上调用php脚本(它位于web根目录下),并且还需要调用托管在另一个网站服务器上的外部jsp脚本。我知道我不能只将两个项目放入<form action="...",但我无法找到完成这项工作的方法。两个脚本都需要接收表单提交的变量。

编辑:我在这里犯了一个错误。对不起,我觉得这是javascript,它实际上是JSP。我修改了我的帖子来修复我提到的所有地方javascript。

2 个答案:

答案 0 :(得分:0)

您可以在提交按钮中添加onclick事件处理程序,并在提交之前包含您需要执行的所有javascript。

希望有所帮助。

<强>更新

在您修改问题后,我意识到您希望同时从同一客户端/网页发布到2个服务器端点。

在这种情况下,我建议你:

  1. 未使用<form>
  2. 包括jQuery
  3. 如下:

    <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个异步发布请求,一个发送到您设置的每个服务器端点。

    希望有所帮助。

答案 1 :(得分: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();