我在页面上有一个表单,需要调用我网站服务器上的 php 脚本(它位于 web 根目录下),并且它还需要调用托管在另一个网站服务器上的外部 jsp 脚本。我知道我不能只将两个项目放入其中,<form action="..."
但我无法找到完成此任务的方法。两个脚本都需要接收表单提交的变量。
编辑:我在这里犯了一个错误。对不起,我以为是javascript,实际上是JSP。我修改了我的帖子以修复我提到 javascript 的所有地方。
您可以将事件处理程序添加到提交按钮,并在其中包含提交前onclick
需要执行的所有 javascript 。
希望有帮助。
更新:
在您修改您的问题后,我意识到您想同时从同一个客户端/网页发布到 2 个服务器端点。
在这种情况下,我建议您:
<form>
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 个异步发布请求,一个发送到您设置的每个服务器端点。
希望有帮助。
您不会发布到“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();