我有一个带有一个文本框的表单,并且在下面的脚本中给出了50个字符的限制

它的工作正常。

但是当我单击提交时,它会在显示警报消息后得到提交
它不应该提交

function charLimit(e) {
    var value = $("#concept_name").val();
    if(value.length > 50){
      alert("Maximum limit is 50 character");
      return false;
    }else{
      return true;
     }
<%= f.text_area :name, rows:1 , :required => true, :onkeypress=> "charLimit()" %>

<button type="submit" onclick="charLimit()">submit</button>


请帮助我查找脚本中的错误。

最佳答案

切勿将onclick与按钮声明一起使用,因为这就像严格的耦合编码标准。而是这样做:

<button type="submit" id="submitBtn">submit</button>

$("#submitBtn").on('click',function(event){

    var value = $("#concept_name").val();

    if(value.length > 50){
       alert("Maximum limit is 50 character");
       event.preventDefault();
    }

});

关于javascript - 返回false或e.preventdefault不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38006636/

10-13 02:18