我继承了一个在PHP4.4.9上运行的系统,但是我需要做一些需要5.0或更高版本的东西,目前我们无法升级,因为它是“软件包”(Hornbill Supportworks)的一部分,会破坏各种功能和功能。 我所做的是暂时将php 5+内容添加到我的个人网站空间。 我所拥有的表格的一个例子是:
<form action="./ChangeStatusSubmit.php" method="post" name="main">
<input type="text" size="15" maxlength="43" name="GappsMailTextS">
<button type="submit">
Submit status changes
</button>
</form>
在表单操作中我也希望它发布到http://www.externalurl/test.php,任何人都可以帮忙吗?我没有找到任何在线工作,因为它需要“卷曲”或ajax(我从来没有使用/看过ajax所以我不知道如何把它放到文件中!任何帮助赞赏。
答案 0 :(得分:1)
表单通常只发布到一个URL,因为一般而言,POST与GET没有区别,因为浏览器要求服务器提供URL并显示结果。 (唯一的实际区别在于输入数据放在HTTP请求中的位置,超出了本答案的范围)。
一种方法是让第一台服务器(表单action
的主机)将数据发送到第二台服务器,如果需要,将第二台服务器的响应合并到发送回浏览器的输出中
答案 1 :(得分:0)
你需要使用AJAX。无法向表单添加两个操作。您可以ajax您的第一个操作,然后在.done
处理程序中提交声明的表单操作。希望你有jquery,使用普通的js来实现ajax要困难得多
一些链接:
http://api.jquery.com/jquery.ajax/#example-0
How to make an AJAX call without jQuery?
基于上面的例子,jquery解决方案可能是这样的:
$('form[name=main]').submit(function() {
return false;
$.ajax({
type: "POST",
url: "http://www.externalurl/test.php",
data: { GappsMailTextS: $('input[name=GappsMailTextS]').value() }
})
.done(function( msg ) {
$('form[name=main]').submit();
});
)};
答案 2 :(得分:0)
正如@aksu发布的那样,AJAX是一个可以用来解决这个问题的工具。
但是,如果您希望将其作为表单提交处理到两个不同的服务器,那么还有其他一些可能对您有用。
表单上的action
属性告诉表单应该发布到哪里。我认为你应该能够使用Javascript将表单提交给一个服务器,然后修改表单,以便action
属性指向不同的服务器,然后再次提交。
我不确定,但您可能还需要修改target
属性,告诉浏览器不要在同一窗口中打开新页面,因为这可能会阻止您的Javascript。