2010-11-08 3 views
7

J'ai un bouton clair que je veux lier dans certains codage php. comment puis-je détecter si le bouton d'effacement est enfoncé. Lorsque l'utilisateur appuie sur Effacer, je vais le mettre à jour une table SQL pour effacer les entrées. mais d'abord j'ai besoin de savoir quand le bouton est pressé.plusieurs boutons sur un formulaire

<input name="Reset1" type="reset" value="clear" /> 
+0

Quand ils cliquent clair, Est-ce que quelque chose d'autre se produit en dehors de la requête étant faite? Par exemple. Y a-t-il un message ou un formulaire à soumettre? – babonk

Répondre

18

Vous vérifiez les post ou get données de votre formulaire, en utilisant le nom du bouton:

<form action='' method='post'> 
    <button type='submit' name='reset'>Clear</button> 
    <button type='submit' name='submit'>Submit</button> 
</form> 

PHP (après la soumission):

if(isset($_POST['reset'])) { /* ...clear and reset stuff... */ } 
else if(isset($_POST['submit']) { /* ...submit stuff... */ } 

Sinon, vous avez deux boutons avec le même nom, à la fois soumettre votre formulaire, et if/else leurs valeurs:

<form action='' method='post'> 
    <button name='submit' value='0'>Clear</button> 
    <button name='submit' value='1'>Submit</button> 
    <button name='submit' value='2'>Something Else</button> 
</form> 

PHP (après la soumission):

if($_POST['submit']==0)  { /* ...clear and reset stuff... */ } 
else if($_POST['submit']==1) { /* ...submit stuff... */ } 
else if($_POST['submit']==2) { /* ...do something else... */ } 
+0

Je n'ai jamais su qu'il y avait un bouton cool. Merci pour l'aide. – acctman

+0

Pas de soucis. Une chose à garder à l'esprit, si vous ne dites pas 'type = 'button'' pour cette balise, elle sera AUTOMATIQUEMENT un buttton' submit'! – Ben

1

Soit câbler l'élément comme un bouton que vous attachez à un extrait de code JavaScript qui Déclenché une requête AJAX, ou utiliser une entrée soumettre. (Déterminer si le formulaire a été soumis ou réinitialisation en fonction de la soumettre valeur)

0

Vous pouvez lier un événement ajax à elle clique dessus. Si vous utilisez jQuery, vous pouvez lier la fonction ajax() à son événement click. La fonction ajax permet le passage facile des variables, la vérification des erreurs, etc.

Vous ajax appelez un fichier php, appelons-le reset_ajax.php, ce qui rendra la requête.

L'autre option consiste à garder une trace du bouton de réinitialisation en cours de clic avec une entrée cachée qui est mise à jour chaque fois qu'il est cliqué, puis vous pouvez faire la requête sur le backend lors de la soumission du formulaire.

Jusqu'à vous quelle méthode vous souhaitez utiliser. Le premier a l'avantage de fonctionner même s'il ne soumet pas le formulaire.

2

Solution de: http://websistent.com/multiple-submit-buttons-in-php/

html:

<input type="submit" name="btn_submit" value="Button 1" /> 
<input type="submit" name="btn_submit" value="Button 2" /> 
<input type="submit" name="btn_submit" value="Button 3" /> 

php:

<?php 
if($_REQUEST['btn_submit']=="Button 1") 
{ 
print "You pressed Button 1"; 
} 
else if($_REQUEST['btn_submit']=="Button 2") 
{ 
print "You pressed Button 2"; 
} 
else if($_REQUEST['btn_submit']=="Button 3") 
{ 
print "You pressed Button 3"; 
} 
?> 
Questions connexes