Envoyer un form sans submit !

younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012 - 12 févr. 2007 à 12:56
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012 - 13 févr. 2007 à 09:58
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

tipat10 Messages postés 9 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 8 mars 2007 1
12 févr. 2007 à 22:51
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.
0
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
13 févr. 2007 à 09:58
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.
0
Rejoignez-nous