Deux actions dans un formulaire?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Deux actions dans un formulaire?

par rgz » 04 avr. 2007, 11:39

Un script de ce type devrait marcher (je ne l'ai pas testé)

Code : Tout sélectionner

<script> function submit_form(val){ if(document.getElementById("un").checked==true) document.getElementById("formulaire").action="un.php"; else document.getElementById("formulaire").action="deux.php"; document.getElementById("formulaire").value=val; } </script> <html> <form action="" method="POST" id="formulaire"> <input type="hidden" name="param" value=""> <input type="checkbox" id="un" value="un"> <input type="checkbox" id="deux" value="deux"> <input type="button" value="Rename" onClick="submit_form('Rename')"> <input type="button" value="Delete" onClick="submit_form('Delete')"> </form> </html>

par Ryle » 04 avr. 2007, 10:17

Modération :
TimaL, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.


Pour la redirection, tu peux dans ton code php coller un header() pour rediriger automatiquement vers la bonne page, sinon c'est du javascript qu'il te faut pour modifier à la volée l'action du formulaire (document.nomFormulaire.action = '...') avant de le soumettre :)

Deux actions dans un formulaire?

par TimaL » 03 avr. 2007, 17:56

Bonjour,

j'ai crée un formulaire que voici :

<form action="<?php echo $good;?>" method="POST">
<input type="checkbox" value="un">
<input type="checkbox" value="deux">
<input type="submit" name="test" value="Rename">
<input type="submit" name="test" value="Delete">

Voici mon code PHP :


switch ($_POST['test']) {

case 'Rename':
$good="un.php?command=renameFile";
break;

case 'Delete':
$good="deux.php?command=deleteFile";

break;

}
?>


Est-il possible qu'en cliquant sur le bouton Delete ou Rename il s'affiche directement dans le lien un.php?command=renameFile ou deux.php?command=deleteFile ?

Actuellement je dois cliquer deux fois sur le bouton pour obtenir ce résultat.

Au final ce que je veux c'est traité une case cochée avec telle ou telle fonction.

Avez-vous une idée?

Merci a vous :)

Tim


ps: j'avais déja posé la question mais je m'étais mal exprimé.