2016-11-09 58 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