2016-03-29 27 views
0

Metin girişi ve düğmesi olan bir formum var.Bu JavasScript doğrulaması neden Firefox'ta çalışmıyor Not

Kullanıcı adının boş olup olmadığını doğrulamak için bir miktar JavaScript bulunmaktadır. Eğer boş ise, bir doğrulama mesajı gösterecektir, aksi takdirde formu gönderecektir.

Sorun, onclick'in Firefox'ta bile ateş etmemesidir. Her tarayıcıda çalışır.

Birisi nerede yanlış gittiğimi gösterebilir mi? Çok teşekkürler.

HTML: <form name="myForm" action="TestController"> <input type="text" width="50" name="username" /> <button onclick="submitForm()">Go</button> <span class="errSpan"></span> </form>

JavaScript: firefox window.event olarak

(function(NAMESPACE){ 

NAMESPACE.submitForm = function(){ 
    console.log('invoked'); 
    window.event.preventDefault(); 
    console.log(window.myForm.username.value); 

    if(window.myForm.username.value === "") 
    document.getElementsByClassName('errSpan')[0].innerHTML = 'cannot be null'; 
    else { 
    document.myForm.submit(); 
    } 
} 
})(window); 

Here is link to JsFiddle

cevap

0

tanımsız ve kod hatası ile başarısız.

Form için gönderme olayı eklemek için addEventListener'ı kullanın ve onclick ifadesini düğmeden kaldırın.

window.myForm.addEventListener('submit', function (e) { 
    e.preventDefault(); 
    //any code what you want 
}); 
0

Önce submitForm() yönteme olay geçmelidir. senin fonksiyonunu göndermek ve formu göndermeden propogration yani olayı durdurmak

onclick="submitForm(event)" 

sonra preventDefault

NAMESPACE.submitForm = function(e){ 
    console.log('invoked'); 
    e.preventDefault(); 
    console.log(window.myForm.username.value); 
    ... 
} 

çağrı Veya aramaya onsubmit yöntemi kullanmak bu olay argüman kullanırlar.