0

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

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

4

2 回答 2

0

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

希望有帮助。

更新:

在您修改您的问题后,我意识到您想同时从同一个客户端/网页发布到 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 个异步发布请求,一个发送到您设置的每个服务器端点。

希望有帮助。

于 2013-10-16T18:29:16.190 回答
0

您不会发布到“javascript 文件”。javascript 需要托管在 html 中。所以我不知道你是否需要在你的 html 文件中包含 js 文件,并调用一个函数,或者你是否真的意味着发布到另一台服务器上的另一个 hmtl 文件。

要具体回答,您可以制作 2 个表格并提交每个表格。

使用 jquery,您可以动态创建表单并提交。使用 post 作为方法,而不是 get。

$('<form>', {
    "id": "getInvoiceImage",
    "html": '<input type="text" id="componentInvoicId" name="componentInvoicId" value="' + componentInvoiceId + '" />',
    "action": window.siteRoot + 'ComponentInvoice/GetInvoiceImage/'
}).appendTo(document.body).submit();
于 2013-10-16T18:30:53.677 回答