2013-06-01 37 views
5

Tamam, bu yüzden submitDefault'u gönder düğmeme koyma form gönderimini durdurmak için çalışır. Bunun sonucu, kullanıcıya gerekli alanları söylemeyecek ve sadece düğme üzerindeki tıklama etkinliğini gerçekleştirmeyecektir.jQuery preventDefault ve gerekli form girişlerini birleştirin

Gönderme işleyicisine preventDefault ekleme, kullanıcıya gerekli alanları gösterir, ancak yine de düğmeye bağlı tıklama olayını başlatır.

İkisine de ihtiyacım var.

Şimdi
<form action="" method="post"> 
    <input type="text" class="class" id="id" name="name" required="required" /> 
</form> 

js:

$("button").click(function(event){ 
    event.preventDefault(); 
    //performs function 
}); 

Bu bakılmaksızın gerekli formu girdi, click olayı tetiklenir.

$("form").submit(function(event){ 
    event.preventDefault(); 
}); 
$("button").click(function(){ 
    //performs function 
}); 

Bu

kullanıcıya gerekli mesajı gösteriyor ama yine de gönderme düğmesi işlevini gerçekleştirir. İkisini de nasıl yaparım? Bu konuda bulabildiğim diğer SO sorularına baktım ama form.submit'e preventDefault ekleyerek en çok cevap verilebilir.

+0

bu '$ ("form") deneyin (function (event) {yanlış dönüşünü; }); gönderin.' –

cevap

4

Aslında iki şey yapmaya çalışıyordum.

Varsayılan olarak form gönderdiği için button.click işlevine ihtiyacım yoktu. Bunun yerine button.click işlevini form.submit içine koymam gerekiyordu.

$("form").submit(function(event){ 
    //perform button function 
    return false; 
}); 
+0

evet! Bu çok açık görünüyor, teşekkürler! :) – andrei

0

Gönderme olayını el ile başlat. Sadece birini yapmak gerektiğinde

$("button").click(function(event) { 
    event.preventDefault(); 

    $('form').submit(); 
});