2016-04-02 10 views
1
<!DOCTYPE html> 
<html> 
<head> 
<script> 
function validateForm() { 
    var x = document.forms["myForm"]["fname"].value; 
    if (x == null || x == "") { 
     alert("Name must be filled out"); 
     return false; 
    } 
} 
</script> 
</head> 
<body> 

<form name="myForm" action="demo_form.asp" 
onsubmit="return validateForm()" method="post"> 
Name: <input type="text" name="fname"> 
<input type="submit" value="Submit"> 
</form> 

</body> 
</html> 

Şu anda doğrulama ile bir JavaScript formu nasıl oluşturulacağını öğrenmek için çalışıyorum ve düğmeye basıldığında sadece kullanıcı formu ister gönderilir ve aslında formu hiçbir yere göndermez.Doğrulama ile bir JavaScript formu nasıl yapabilirim ve gönderilir gönderilmez hiçbir yere gitmiyor

+0

Burada test ettim ve demo_form.asp adresine yönlendirildim. Ve neden doğrulama için "pattern" etiketini kullanmıyorsunuz? – Filipe

+0

Öznitelik 'desen' demek istedik :) – GillesC

cevap

2

Sen bunun here hakkında daha fazla bilgi edinebilirsiniz Event.preventDefault()

kullanmak gerekir. Bir olay akışının herhangi bir aşamasında preventDefault numaralı telefonu çağırmak olayı iptal eder, yani olayla ilgili olarak uygulamanın normal olarak gerçekleştirdiği varsayılan eylemler gerçekleşmez. İki giriş kutusuyla jsfiddle here numaralı bağlantıya bakın. Not: <br>, her giriş kutusunu yeni bir satıra koyarak satır sonu oluşturur.

function validateForm(evt) { 
//.preventDefault is a method of JavaScript events 
    evt.preventDefault(); 
} 

Yani temelde önce veya Gönder düğmesini sonra mantığı ekleyebilirsiniz: Eğer taşıma işlevinde bunun için bir parametre varsa yapabileceğini böylece

<script> 
function validateForm(e) { 
     e.preventDefault(); 
     var x = document.forms["myForm"]["fname"].value; 
     if (x == null || x == "") { 
      alert("Name must be filled out"); 
      return false; 
     } 
    } 
</script> 

<body> 
    <form name="myForm" action="demo_form.asp" 
     onsubmit="return validateForm(event)" method="post"> 
     Name: <input type="text" name="fname"><br> 
     New TextBox: <input type="text" name="textBox"><br> 
     <input type="submit" value="Submit"> 
    </form> 
</body> 
+0

Bu mükemmel çalıştı! Aynı düğmeyle doldurmak ve göndermek için formda ikinci bir bölümün nasıl ekleneceğini söylemeniz mümkün olabilir mi? – hithere

+0

nasıl demek istiyorsun? üzgünüm, tam takip etmem. –

+0

Üzgünüz, forma başka bir metin kutusu nasıl ekleyebilirim? – hithere

2

onclick olay bir olay nesnesi ayrıştırmak olacak İstemci tarafı doğrulaması yapılırken basılır ve doğrulama işleminin başarısız olması durumunda iptal edilir, ardından kullanıcı sayısından dolayı kullanıcılara kızar.

İlgili konular