2017-09-23 57 views
0
var arr = new Array(); 
      $('#id_submitbutton').on("click",function(){ 

       if(languages.length>0){ 
        for (var i=0; i<languages.length; i++){ 
         arr.push(languages[i].name); 
        } 
       }else{ 

       $("#id_submitbutton").on("click",function(event){ 
       event.stopPropagation(); 
       }); 

       } 

      $('#id_languages').val(arr);    
      }); 

在此代码中,点击提交按钮。我正在检查语言的长度。如果该条件失败,我需要停止提交过程。 如何做到这一点?点击提交按钮后,我正在检查条件,如果它失败如何停止提交过程?

我已经使用了停止传播。但它没有解决。 帮帮我。

+0

else {return false; } – vnt

回答

1

你不需要到另一个事件处理程序附加到其他按钮里面,只是用在别的event.preventDefault()阻止事件的默认操作,并通过事件原始事件处理函数

var arr = new Array(); 
$('#id_submitbutton').on("click",function(event){ 

    if(languages.length>0){ 
     for (var i=0; i<languages.length; i++){ 
      arr.push(languages[i].name); 
     } 
    }else{ 
     event.preventDefault(); 
    } 
    $('#id_languages').val(arr);    
}); 
0

使用event.preventDefault停止表单提交和

var arr = new Array(); 
$('#id_submitbutton').on("click",function(event){ //<---- pass event as argument 

    if(languages.length>0){ 
     for (var i=0; i<languages.length; i++){ 
      arr.push(languages[i].name); 
     } 
    }else{ 
     event.preventDefault(); //<--- simply use this to prevent form submission. 
    } 

    $('#id_languages').val(arr);    
}); 
+0

That worked ... Thanks dude @Muthu – Satz

+0

很好..请将此标记为答案和upvote –

+0

已完成bro。我似乎没有足够的声望。 – Satz

0

您只需要使用event.preventDefault()防止行动的发生。