2013-02-01 39 views
0

當我提交與空字段的形式我得到對話框成功消息。相反,我想在對話框中顯示錯誤信息。請幫我找到解決方案。jQuery的空場驗證

我的HTML代碼:

<form id="booking" action="" method="post"> 
    First Name:<input type="text" id="firstName" name="firstName" maxlength="30" /><br/> 
    Last Name:<input type="text" id="lastName" name="lastName" maxlength="30"/><br/> 
    Contact:<input type="text" id="contact" name="contact" maxlength="15"/><br/> 
    Email: <input type="text" id="email" name="email" maxlength="30"/><br/> 
    <input id="save" type="button" value="Save" /> 
    </form> 
    <div id="dialog"></div> 

jQuery代碼:

$('#save').click(function(){ 
    if(('#firstName').length==0 && ('#lastName').length==0 && ('#contact').length==0 && ('#email').length==0){ 
    $('#dialog').attr('title','Error').text('All fields are required').dialog(); 
    }else{ 
    $('#dialog').attr('title','Success').text('Success').dialog(); 
    } 
    }); 
+0

我會去了解一下'jQuery的validate'插件。 –

回答

1

('#firstName') - >如果你正在使用jQuery,這應該是$('#firstName')

這個條件將始終返回false: ('#firstName').length==0 && ('#lastName').length==0 && ('#contact').length==0 && ('#email').length==0

得到一個輸入文本類型的值長度:

$('#firstName).val().length 

更新:

試試這個:

$('#save').click(function(){ 
    if($('#firstName').val().length==0 && $('#lastName').val().length==0 && $('#contact').val().length==0 && $('#email').val().length==0){ 
    $('#dialog').text('All fields are required').dialog({title:'Error'}); 
    } else{ 
    $('#dialog').text('Success').dialog({title:'Success'}); 
    } 
}); 
+0

這是正常的,但標題仍然是相同的「錯誤」我希望將它更改爲「成功」 – user1897595

+0

你的代碼是完美的。 。我看到標題'成功',邏輯很棒'val()。length == 0' – user1897595

0

試試這個,

$('#save').click(function(){ 
    if($('#firstName').val()=="" || $('#lastName').val()=="" || $('#contact').val()=="" || $('#email').val()==""){ 
    $('#dialog').attr('title','Error').text('All fields are required').dialog(); 
    }else{ 
    $('#dialog').attr('title','Success').text('Success').dialog(); 
    } 
    }); 
+0

嘿,我嘗試過,但似乎無對話:( – user1897595

+0

你錯過了選擇的$盈編輯答案現在嘗試 –

+0

OMG右它的工作非常感謝你(:。!。 – user1897595

0

應該還是在你if條件||,您可以使用[val()][1]來獲取所選元素的值並檢查它是否爲空。

,你在你的jQuery選擇錯過$

if(('#firstName').val()=="" 
---^--- //here missing $ 

試試這個

$('#save').click(function(){ 
    if($('#firstName').val()=='' || $('#lastName').val()=='' || $('#contact').val()=='' || $('#email').val==''){ 
    $('#dialog').attr('title','Error').text('All fields are required').dialog(); 
    }else{ 
    $('#dialog').attr('title','Success').text('Success').dialog(); 
    } 
}); 
+0

是它的工作現在。感謝名單。 – user1897595

+0

哦,等等..我得到了成功的消息,但標題仍然是錯誤。爲什麼? – user1897595