У меня есть метод, который распечатывает порядок набора изображений. Мне нужно отправить это на новую страницу 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;
}
Как это сделать?






Вы можете отправить форму с помощью (обратите внимание, что это не проверено):
document.formname.submit();
Если вам нужно сначала изменить действие (страницу для отправки):
document.formname.action = 'some_other_url';
Если вам нужно отправить форму асинхронно, вам нужно использовать XMLHttpRequest или что-то подобное.
с простым POST (без ajax) вам нужно сохранить результат вашего процесса (получение идентификатора порядка изображения) в поле формы:
<input type = "hidden" name = "imagesorder" value = ""/>
в своей функции вы можете установить значение в это поле после заполнения orderString:
document.getElementsByName('imagesorder')[0].value = orderString;
затем отправьте форму, вы можете сделать это, заменив свой
<input type = "button" .../>
с
<input type = "submit" .../>
на стороне сервера вы получите значение в коллекции сообщений (я не php dev)
$_POST['imagesorder']
Обратите внимание на опечатку в последней строке. Это должно быть $ _POST ['imagesorder'].