Javascript在方法中提交表单

时间:2008-12-11 13:11:17

标签: php javascript post

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

怎么做?

2 个答案:

答案 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']