如果验证错误,请勿允许ajax网址提交

时间:2016-09-28 09:20:38

标签: javascript php jquery ajax

我在表单中有两个文本框。如果任何验证都是false,我不想允许ajax url提交。我怎么能实现这一点。我对jquery不太了解。请帮忙。

<div class="coupon" style="display:none;">                              
    <input type="text" class="coupon-name" name="fullname"  id="fullname">
    <span class="name-error"></span>
    <input type="text" class="coupon-email" name="email" id="email">
    <span class="email-error"></span>
    <button type="submit" value="status_add" name="status_add" id="add-status"    onclick="checkStatus()">Apply</button>
</div>  

<script type="text/javascript">
function checkStatus(){
        var fullname = $(".coupon-name").val();
        var email = $(".coupon-email").val();

        if(fullname == ''){
            $('input[name="fullname"]').next('span').text('Please Enter Your Name');
        }
        if(email == ''){
            $('input[name="email"]').next('span').text('Please Enter a Email Id');
        }                               

        $.ajax(
        {
            url     : "<?php echo base_url('myaccount/validate/'); ?>",
            type    : "POST",
            data    : {fullname: fullname,email:email} ,

4 个答案:

答案 0 :(得分:2)

没有花太多时间在你的代码上,不知道是否还有其他错误,但是你应该把ajax部分放在&#34;否则&#34;条件,否则它将每次都完成,与两个if条件的结果无关。

答案 1 :(得分:2)

试试这个,

使用return false;

var fullname = $(".coupon-name").val();
        var email = $(".coupon-email").val();
        var error=0;
        if(fullname == ''){
            $('input[name="fullname"]').next('span').text('Please Enter Your Name');
         error=1;
        }
        if(email == ''){
            $('input[name="email"]').next('span').text('Please Enter a Email Id');
         error=1;
        } 

       if(error>0){
         return false;
        }

答案 2 :(得分:2)

你应该在checkStatus中使用boolean标志。

function checkStatus(){
    var fullname = $(".coupon-name").val();
    var email = $(".coupon-email").val();

    var isValidate = true;

    if(fullname == ''){
        isValidate = false;
        $('input[name="fullname"]').next('span').text('Please Enter ..');
    }
    if(email == ''){
        isValidate = false;
        $('input[name="email"]').next('span').text('Please Enter a Email');
    }                               

    if (!isValidate) { return;}

    //ajax request
}

答案 3 :(得分:0)

你可以使用这个:$('#form').submit();$xml="".$rs_rssfeed['rss_url'].""; $xmlDoc = new DOMDocument(); $xmlDoc->load($xml); $xpath = new DOMXPath($xmlDoc); $count = $xpath->evaluate('count(//item)'); if($count>0) { $x=$xmlDoc->getElementsByTagName('item'); for ($i=0; $i<$count = $xpath->evaluate('count(//item)'); $i++) { $item_title=$x->item($i)->getElementsByTagName('title')->item(0)->nodeValue; $item_link=$x->item($i)->getElementsByTagName('link')->item(0)->nodeValue; $item_desc=$x->item($i)->getElementsByTagName('description')->item(0)->nodeValue; $item_pubdate=$x->item($i)->getElementsByTagName('pubDate')->item(0)->nodeValue; } }

如果您使用js代码,请执行以下操作:long video= ourMediaPlayer.getMediaPlayer().getLength();