我有一个打印出一组图像顺序的方法。我需要将它提交到一个新的php页面。
我有一张表格,目前将订单打印到同一页面。
<form action="mainpage.php" method="post">
<div style="clear:both;padding-bottom:10px">
<input type="Button" style="width:100px" value="Show order" onclick="saveImageOrder()">
</div>
Saveimageorder()
显示图像,并将顺序保存在名为orderString
function saveImageOrder()
{
var orderString = "";
var objects = document.getElementsByTagName('DIV');
for(var no=0;no<objects.length;no++)
{
if(objects[no].className=='imageBox' || objects[no].className=='imageBoxHighlighted')
{
if(orderString.length>0) orderString = orderString + ',';
orderString = orderString + objects[no].id;
}
}
document.getElementById('debug').innerHTML = 'This is the new order of the images(IDs) : <br>' + orderString;
}
怎么做?
答案 0 :(得分:2)
您可以提交表格(请注意,这未经过测试):
document.formname.submit();
如果您需要首先更改操作(要提交的页面):
document.formname.action = 'some_other_url';
如果您需要异步提交表单,则需要使用XMLHttpRequest或类似的东西。
答案 1 :(得分:1)
使用普通POST(无ajax),您需要在表单字段中存储流程结果(图像顺序ID检索):
<input type="hidden" name="imagesorder" value=""/>
在您的函数中,您可以在填充orderString后将值设置为此字段:
document.getElementsByName('imagesorder')[0].value = orderString;
然后提交表单,您可以通过替换
来完成此操作<input type="button" .../>
与
<input type="submit" .../>
在服务器端,您将获得post集合中的值(我不是php dev)
$_POST['imagesorder']