jquery ajax验证不起作用

时间:2015-10-09 13:05:16

标签: javascript jquery ajax

我在我的网站上有一个查询页面,我正在使用jquery ajax验证。

我的代码是:

.*/(.*?)(?:\?.*|$)

我的问题是,当我点击没有任何值的按钮时,它只会显示E-MAIL的错误(必填)消息而不是SUBJECT,它是如何发生的?

2 个答案:

答案 0 :(得分:1)

这是因为textarea声明中有空格

<textarea name="contentsub" id="contentsub"> </textarea>
--------------------------------------------^

所以长度等于一。

您可以删除空格以更正问题

<textarea name="contentsub" id="contentsub"></textarea>

演示:

if(!$("#contentsub").val())
    document.write('KO');

if(!$("#contentsub2").val())
    document.write('OK');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea name="contentsub" id="contentsub"> </textarea>
<textarea name="contentsub" id="contentsub2"></textarea>

答案 1 :(得分:0)

function sendContact() {
                        var valid;  
                        valid = validateContact();
                        if(valid) {
                            alert("valid data");
                        }
                        else{
                          alert("invalid data");
                          }
                    }

                    function validateContact() {
                        var valid = true;   
                        $(".textbox").css('background-color','');
                        $(".error").html('');

                        if(!$("#userEmail").val()) {
                            $("#userEmail-info").html("(required)");
                            $("#userEmail").css('background-color','#D2434E');
                            valid = false;
                        }
                        if($.trim($("#contentsub").val()).length == 0) {
                            $("#content-info").html("(required)");
                            $("#contentsub").css('background-color','#D2434E');
                            valid = false;
                        }   
                        return valid;
                    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="contact-form" id="frmContact">
                   <h2>Contact Us</h2>
                     <div id="mail-status"></div>
                     <div class="left_form">
                        <div>
                            <span><label>NAME</label></span>
                            <span><input name="userName" id="userName" type="text" class="textbox"></span>
                        </div>
                        <div>
                            <span><label>E-MAIL  <span class='error' id="userEmail-info" style="color:#C40401;text-align:center;margin-bottom:5px;"></span><font color="#C40401">*</font></label></span>
                            <span><input name="userEmail" id="userEmail" type="text" class="textbox"></span>
                        </div>
                        <div>
                            <span><label>PHONE</label></span>
                            <span><input name="subject" id="subject" type="text" class="textbox"></span>
                        </div>
                    </div>
                    <div class="right_form">
                        <div>                           
                            <span><label>SUBJECT  <span class='error' id="content-info" style="color:#C40401;text-align:center;margin-bottom:5px;"></span><font color="#C40401">*</font></label></span>
                            <span><textarea name="contentsub" id="contentsub"> </textarea></span>
                        </div>
                        <div id="submit">
                            <span><input type="submit" name="submit" value="Submit" class="myButton" onClick="sendContact();"></span>
                        </div>
                    </div>

                    <div class="clearfix"></div>
              </div>

而不是:

if(!$("#contentsub").val())

请你试试:

if($.trim($("#contentsub").val()).length == 0)