2010-11-08 23 views
7

Mam wyraźny przycisk, który chcę powiązać z niektórymi kodami php. jak wykryć, czy naciśnięto przycisk kasowania. Kiedy użytkownik naciśnie przycisk clear, zamierzam zaktualizować tabelę sql, aby wyczyścić wpisy. ale najpierw muszę wiedzieć, kiedy przycisk jest wciśnięty.wiele przycisków w formularzu

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

Po kliknięciu jasne, Czy coś jeszcze zdarzyć oprócz zapytaniu są wykonane? Na przykład. Czy jest przesłana wiadomość lub formularz? – babonk

Odpowiedz

18

sprawdzić dane z formularza post lub get, używając nazwy przycisku:

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

PHP (po złożeniu):

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

Alternatywnie, masz dwa przyciski o tej samej nazwie, która zarówno złożenia formularza i if/else ich wartości:

<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 (po złożeniu):

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

Nigdy nie wiedziałem, że jest niezły tag. dzięki za pomoc. – acctman

+0

Bez obaw. Trzeba pamiętać o jednej rzeczy, jeśli nie powiesz przycisku 'type = ''' dla tego tagu, to AUTOMATYCZNIE będzie to" but "do przesyłania! – Ben

1

Albo drut się pozycję jako jednego przycisku możesz dołączyć do fragment kodu JavaScript, który odpala żądania AJAX lub użyć wejście przedstawienia. (Określenie, czy formularz został przedłożony lub zresetować w oparciu o przedstawienia wartości)

0

można powiązać zdarzenie ajax przy czym kliknął. Jeśli używasz jQuery, możesz powiązać funkcję ajax() ze zdarzeniem kliknięcia. Funkcja ajax pozwala na łatwe przekazywanie zmiennych, sprawdzanie błędów itp.

Będziesz wywoływał ajax z pliku php, nazwijmy go reset_ajax.php, który utworzy zapytanie.

Inną opcją jest śledzenie kliknięcia przycisku resetowania za pomocą ukrytego wejścia, które jest aktualizowane za każdym kliknięciem, a następnie można wykonać zapytanie na zapleczu po przesłaniu formularza.

Do Ciebie, której metody chcesz użyć. Ten pierwszy ma tę zaletę, że działa, nawet jeśli nie przesyła formularza.

2

Rozwiązanie z: 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"; 
} 
?> 
Powiązane problemy