2012-02-26 11 views
5

Obecnie pracuję nad projektem php/html/javascript. Mam formularz, w którym, gdy użytkownik naciśnie przycisk Wyślij, powinien uruchomić funkcję javascript, a następnie opublikować na stronie php, aby przetworzyć dane, które zostały przesłane w formularzu.Formularz przesłać do uruchomienia javascript, a następnie wysłać do skryptu php

Mam formularz uruchomić metodę javascript jak poniżej

<form class="form" id="addImageForm" name="addImageForm" action="javascript:validateAddImage();" method="post"> 

Sposób sprawdzania poprawności formularza, wywołuje inny sposób, a następnie przesyła formularz używając document.myForm.submit();

Jak mogę zmusić go do przedłożenia Formularz do innej strony php do przetwarzania danych, w tym przesłać wybrane pliki.

Dziękujemy za pomoc.

+0

Wystarczy podać nazwę swojej strony w znaczniku akcji i wywołać funkcję javascript w zdarzeniu onsubmit w formularzu. Milap

Odpowiedz

6

Ustaw parametr 'działania' dla twojego skryptu PHP i wykonaj dowolne przetwarzanie javascript w zdarzeniu javascript.

Następnie w swoim js walidacji, zwróć "prawda", jeśli wszystko jest w porządku, lub "fałsz", jeśli nie. Zwrócenie "true" oznacza "kontynuuj proces przesyłania i przesyłaj dane do przetwarzania.php

+0

Dzięki za pomoc – Boardy

+0

Nie ma problemu, I musiałem zmierzyć się z tym problemem wiele razy. Możesz również zajrzeć do wtyczki walidacji jQuery http://bassistance.de/jquery-plugins/jquery-plugin-validation/ – Tchoupi

5

Potrzebne jest onsubmit.

<form class="form" id="addImageForm" name="addImageForm" action="addImage.php" onsubmit="return validateAddImage();" method="post"> 
1

Wymień atrybut action z nazwą swojej strony PHP i mieć metodę validateAddImage jako zdarzenie onsubmit.

1

Zmień atrybut działania na adres skryptu php, do którego publikujesz. Wywołanie funkcji javascript w atrybucie onsubmit zamiast działania. Ale musisz poprzedzić go instrukcją return.

<form class="form" method="post" action="your/script.php" id="addImageForm" name="addImageForm" onsubmit=return javascript:validateAddImage()> 

W ten sposób, jeśli validateAddImage() zwróci false, formularz nie zostanie przesłany. Ale jeśli zwróci true, będzie.

Powiązane problemy