1

我有一种方法可以打印出一组图像的顺序。我需要将此提交到一个新的 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;    
}

这个怎么做?

4

2 回答 2

2

您可以使用以下方式提交表单(请注意,这未经测试):

document.formname.submit();

如果您需要先更改操作(要提交到的页面):

document.formname.action = 'some_other_url';

如果您需要异步提交表单,您需要使用 XMLHttpRequest 或类似的东西。

于 2008-12-11T13:19:05.317 回答
1

使用普通 POST(无 ajax),您需要将处理结果(图像订单 ID 检索)存储在表单字段中:

<input type="hidden" name="imagesorder" value=""/>

在您的函数中,您可以在填充 orderString 后将值设置为该字段:

document.getElementsByName('imagesorder')[0].value = orderString;

然后提交表格,您可以通过替换您的

<input type="button" .../>

<input type="submit" .../>

在服务器端,您将获得帖子集合中的值(我不是 php 开发人员)

$_POST['imagesorder']
于 2008-12-11T13:27:57.590 回答