2011-11-08 23 views
88

Formu gönderen bir düğme içeren bir form var. Göndermeden önce bir şeyler yapmam gerek. Bu düğmede numaralı tıklama ile'u denedim ancak gönderimden sonra gerçekleşir.Göndermeden önce bir şeyler nasıl yapılır?

Kodu paylaşamıyorum, ancak genel olarak bunu halledebilmek için jQuery veya JS'de ne yapmalıyım? Aşağıdaki gibi bir form varsa

+6

* öksürük * [jsFiddle Örneği] (http://jsfiddle.net/XVAPa/) * öksürük * –

+1

@Brad Christie sadece bir cevabı yorum olarak kabul edebilseydim. Çok teşekkürler. – Jimmy

+1

Yığınlama bir soru kapandığında nefret ediyorum. Sadece bir formu göndermeden önce aşağıdaki zamanlama ateş aşağıdaki olayları kullanarak işlemleri işleyebilir 4- onfocus onmousedown onmouseover 2- onmousemove 3- 1- 5- 6- onmouseup Onclick 7- onsubmit –

cevap

138

:

formu gönderilmeden önce bir şeyler yapmak için aşağıdaki jQuery kodu kullanabilirsiniz

<form id="myform"> 
... 
</form> 
:

$('#myform').submit(function() { 
    // DO STUFF... 
    return true; // return false to cancel form action 
}); 
+1

Bunu göndermeden önce tamamlanması gereken döngüler için sıkıntı yaşıyor. Baska öneri? – Smilyan

+0

Bakmak için herhangi bir kod var mı? Sorunu anladığımdan emin değilim. –

+2

Bu neden boş bir işlev çağrısında bulunuyor? "Gönder" işlevi, çevreleyen boş işlev olmadan "$ ('# form')' doğrudan bağlanabiliyor mu? DÜZENLEME: [Dokümanlar çevreleyen işlev çağrısının gerekli olmadığını önerir] (https://api.jquery.com/submit/#submit-eventData-handler). – eykanal

4

Gönder düğmesini emin olun ait değildir "gönder" yazın, bir düğme yapın. Daha sonra bazı javascript'i tetiklemek için onclick olayını kullanın. Verilerinizi yayınlamadan önce, istediğiniz her şeyi yapabilirsiniz.

<form id="myForm" action="foo.php" method="post"> 
    <input type="text" value="" /> 
    <input type="submit" value="submit form" /> 

</form> 

Böyle jQuery ile onsubmit -Olay ekleyebilirsiniz:

+1

Form, belirli alanlarda enter tuşuna basma gibi çeşitli şekillerde gönderilebilir. Tıklanmayan tek bir tuşa tıklamak iyi bir fikir değildir. Diğer cevaplar, formun nasıl sunulduğuna bakılmaksızın * formun * kullanılmasını nasıl başlattığınızı gösterir. – Jason

13

böyle bir form var varsayarsak return false formu sonra gönderilmez ise

$('#myForm').submit(function() { 
    alert('Handler for .submit() called.'); 
    return false; 
}); 

Eğer doğru ya da hiçbir şey döndürmezseniz, her zamanki gibi gönderecektir.

Daha fazla bilgi için jQuery documentation'a bakın.

5

Böyle formu göndermeden önce bazı JavaScript veya jQuery kodu çalıştırmak için onclick kullanabilirsiniz:

<script type="text/javascript"> 
    beforeSubmit = function(){ 
     if (1 == 1){ 
      //your before submit logic 
     }   
     $("#formid").submit();    
    } 
</script> 
<input type="button" value="Click" onclick="beforeSubmit();" /> 
+14

Ancak bu, formun ör. Bir kullanıcı, giriş olayını gerçekleştiren iade anahtarına isabet eden bir girdi alanıdır. Gönderme etkinliğine doğrudan bağlanmak genellikle daha iyidir, böylece kullanıcının gönderimi nasıl gerçekleştirdiğine bakılmaksızın çağrılmasını sağlayabilirsiniz. – acme

+2

Ansyori

İlgili konular