2016-01-27 12 views
8

Wiem, że zdarzenie onsubmit pojawia się po przesłaniu formularza.Jakie jest znaczenie onsubmit = "return false"? (JavaScript, jQuery)

Generalnie to, co robimy jest wzywamy metodę na zdarzenie onsubmit jak <form action="" onsubmit="myfunction()">

Dzisiaj widziałem to, "<form action="" onsubmit="return false">". Jak to działa? Nie mogłem zrozumieć, co oznacza onsubmit="return false".

PS: Znalazłem to, gdy uczyłem się Ajax. To był samouczek, który wyjaśnia, jak przesłać dane do bazy danych bez odświeżania strony.

+2

'return false' anuluje domyślną akcję przesyłania (zatrzymuje wysyłanie formularza). – Satpal

+0

To znaczy "Nic nie rób". Zwróć przepływ kontrolny .. – Rayon

+0

Oznacza to, że nic nie rób na przesyłaniu. – RK12

Odpowiedz

16

Zasadniczo robi się to ręcznie, aby obsłużyć formularz.

Na przykład - dla celów walidacji Zobacz poniżej kod i zobaczyć, jak to może być korzystne:

<SCRIPT LANGUAGE="JavaScript"> 
myFunctionName() { 
    if (document.myForm.myText.value == '') 
     return false; 
     //when it return false - your form will not submit and will not redirect too 
    else 
     return true; 
    //when it return true- your form will submit and will redirect 
// (actually its a part of submit) id you have mentioned in action 
} 
</SCRIPT> 

<FORM NAME="myForm" onSubmit="return myFunctionName()"> 
<INPUT TYPE="TEXT" NAME="myText"> 
<INPUT TYPE="SUBMIT" VALUE="Click Me"> 
</FORM> 
+1

Proszę wyjaśnić mi, co się stanie, jeśli będzie to prawdziwy zwrot? Co się stanie, jeśli zwrot jest fałszywy? – Sasa1234

+1

@ Sasa1234 Edytowałem powyższy kod i wyjaśniłem to w komentarzu. "gdy" zwróci false "- Twój formularz nie zostanie przesłany i nie przekieruje go zbytnio, a jeśli" zwróci true "- Twój formularz zostanie przesłany i przekieruje (w rzeczywistości jest jego częścią), o którym wspomniałeś w akcji" –

0

Jeśli używasz przycisku zamiast przedstawić, jak w moim przypadku poniżej.

<FORM NAME="myForm" onSubmit="myFunctionName(); return false"> 
    <INPUT TYPE="TEXT" NAME="myText"> 
    <INPUT TYPE="button" VALUE="Click Me" onclick="myFunctionName()"> 
</FORM> 
+0

Format Twoja odpowiedź – Billa

Powiązane problemy