2008-12-11 6 views
1

J'ai une méthode qui imprime l'ordre d'un ensemble d'images. Je dois soumettre ceci à une nouvelle page de php.Javascript soumettant un formulaire dans une méthode

J'ai un formulaire qui imprime actuellement la commande à la même page.

<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() montre l'image et enregistre l'ordre dans une variable appelée 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;  
} 

Comment faire?

Répondre

2

Vous pouvez soumettre le formulaire (notez que cela n'a pas été testé):

document.formname.submit(); 

Si vous devez modifier l'action (la page de se soumettre à) premier:

document.formname.action = 'some_other_url'; 

Si vous devez soumettre le formulaire de manière asynchrone, vous devez utiliser XMLHttpRequest ou quelque chose de similaire.

1

avec POST simple (non ajax), vous devez stocker le résultat de votre processus (de recherche d'images identifiant de commande) dans un champ de formulaire:

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

dans votre fonction, vous pouvez définir la valeur à ce champ après la orderString est peuplée:

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

puis soumettez le formulaire, vous pouvez le faire en remplaçant votre

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

avec

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

sur le côté serveur, vous obtiendrez alors la valeur dans la collection post (je ne suis pas php dev)

$_POST['imagesorder'] 
+0

note une faute de frappe sur la dernière ligne .. Il devrait être $ _POST ['imageorder'] – Rexxars

+0

merci Rexxars, corrigé :) – smoothdeveloper

Questions connexes