2016-11-09 41 views
0

我已經在我的網頁下面的驗證返回虛假文件,驗證之後上單擊事件不工作

$(document).on('click', '.click_button', function() { 
    if(($('#first_name').val() == "")){ 
     alert('Firstname missing'); 
     return false; 
    } 
    // post to ajax 
}); 

一旦它與姓缺少驗證錯誤的點擊事件(click_button類)遇到不會以後工作。如何在返回false後追加單擊事件。任何意見,將不勝感激

+1

一個jQuery對象絕不會等同於一個空字符串,那麼你的'if'條件是有缺陷的。你的意思是$('#first_name')。val()'而不是? –

+0

目前還不清楚爲什麼你想在返回false之後應用點擊事件,任何方法都會在返回之前嘗試使用setTimeout,它會返回並在超時結束後執行任何你想要的操作。 – Dabbas

回答

2
function checkFormIsValid(){ 
    var isValid = true; 
    var input = $.trim($('#first_name').val()); 
    if(typeof input != 'string' || input==''){ 
     isValid = false; 
    } 
    return isValid; 
} 

$(document).on('click', '.click_button', function(e) { 
    if(checkFormIsValid()){ 
    //do your stuff 
    }else{ 
    e.preventDefault(); 
    alert('Firstname missing'); 
    return false; 
    } 
}); 

這裏是小提琴https://jsfiddle.net/adwp6dLe/2/

0

請查閱這一個(基本上我不添加任何東西。只有$( '#FIRST_NAME')。VAL()=== 「」)。你的代碼的工作

HTML

<input id="first_name"> 
<button type="button" class="click_button">post</button> 

的JavaScript

$(document).on('click', '.click_button', function(e) { 
    if (($('#first_name').val() === "")) { 
    alert('Firstname missing'); 
    return false; 
    } 
    alert('sending'); 
    // post to ajax 
}); 

jsfiddle