Envoyer un form sans submit !

Signaler
Messages postés
503
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
20 mars 2012
-
Messages postés
503
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
20 mars 2012
-
Bonjour,
j'ai une liste de dossiers "virtuel" dans la base de données.
Je les liste dans un menu (comme hotmail : deplacer vers boite reception,Brouillans,...)
Ma liste (par exemple)  est :

Deplacers vers :
Dossier1  (je fais un lien comme ajouteraudossier.php?id=1)
Dossier2  (je fais un lien comme ajouteraudossier.php?id=2)
Dossier3   ....
Dossier4   ....

Normalement je dois cocher des enregistrement qui sont affiché comme suit :
case à cocher : Nom XXX1
case à cocher : Nom XXX2
case à cocher : Nom XXX3
case à cocher : Nom XXX4
....
case à cocher : Nom XXX100
Lorsque je coche par exemple le , "Nom XXX1" et je fais deplacer vers "Dossier2", j enregistre dans la base dasn une table le numero de "Dossier2" et le numero de l enregistrement "Nom XXX1".

Donc comment je ferai pour envoyer les enregistrement cochés à la page ajoutaudossier.php ?
Merci.

N'importe où. 
mais là où il le faut.

2 réponses

Messages postés
9
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
8 mars 2007

Salut,
Si j'ai bien compris, la fonction submit du form est déjà utilisé par un autre bouton vers une autre page.  La solution serait de changer le action="submit.php" du formulaire juste avant de l'envoyer.  C'est faisable avec du javascript :

// fonction appelé par le bouton déplacer ou après la sélection dans la liste (onChange)
function ajouteraudossier(id){
formobj = document.getElementsById("mon_form");
formobj.action = "ajouteraudossier.php?id="+id;
formobj.submit();
}

[...]

// Prévoir un onclick sur le bouton Déplacer :
onClick="ajouteraudossier(this.form.liste_dossier.options[this.form.liste_dossier.options.selectedIndex].value)"
// ... ou un onChange sur la liste
onChange="ajouteraudossier(this.form.liste_dossier.options[this.form.liste_dossier.options.selectedIndex].value)"

Une autre solution serait de passer les variables par URL (ajouteraudossier.php?id=1&id_enregistrement=1,2,3) moins pratique dans le cas où il y a plusieurs variable.  Il faudrait aussi veiller à rediriger l'utilisateur pour éviter les cas de refresh ce qui répéterais l'action.
Messages postés
503
Date d'inscription
mercredi 29 décembre 2004
Statut
Membre
Dernière intervention
20 mars 2012

Merci pour ta réponse,
en fait je veux pas utiliser un boutton submit( donc n est pas utilisé vers une autre page).
Merci bcp pour ton aide.

N'importe où. 
mais là où il le faut.