使用Codeigniter 3关闭不使用刷新页面的警报javascript

时间:2016-03-19 16:10:40

标签: javascript php jquery html codeigniter

我使用javascript和Codeigniter 3.04构建验证表单。这是我的HTML代码

<form class="form-horizontal"  method="POST" onsubmit="check()">
  //code
</form>

我会在插入数据库之前检查我的函数javascript中的长度字符。这是我的功能

function check(){
    var title = document.getElementById('txt_check').value.length;
    if (title <= 50) {
      alert("The title length less than 50 Character ");    
    }
}

当警报显示,然后我单击确定,我之前表单中的所有数据都清晰,所以我必须再次写入。当我使用Codeigniter 2.00时,它不会发生,但在这个新版本中,一切都刷新,我认为所有缓存都被重置。你能帮我删除这个“刷新”这个页面。

由于

3 个答案:

答案 0 :(得分:0)

您正在提交表单,请尝试添加以下代码行:

$("#my-form").submit(function(e){
    e.preventDefault();

   var title = document.getElementById('txt_check').value.length;
   if (title <= 50) {
       alert("The title length less than 50 Character ");    
   }
});

在表单中添加ID:

<form id="my-form" class="form-horizontal"  method="POST">

答案 1 :(得分:0)

首先,它不是与Codeigniter相关的问题。 您只需要阻止表单提交。 删除onSubmit="check()"并在您的javascript文件中添加此代码。

$(".form-horizontal").submit(function(e){
    var title = $('#txt_check').val();
    if(title.length<=50){
        alert('Title length is short');
        e.preventDefault();
        return false;
    }
});

另外,请仔细检查您使用的是id="txt_check"而非上课。 #用于id。点.用于课程。

答案 2 :(得分:0)

您可以像使用的那样使用您的功能,但是您必须确保警告对话框阻止表单发送!

因此在调用函数之前插入return

<form class="form-horizontal"  method="POST" onsubmit="return check();">
  //code
</form>

让函数返回一些东西:

function check(){
    var title = document.getElementById('txt_check').value.length;
    if (title <= 50) {
      alert("The title length less than 50 Character ");    
      return false;
    }
    else{
      return true;
   }
}

因此,如果函数返回false,则浏览器不会发送表单,只有当函数返回true时才会发送表单。
如果表单没有发送,价值就不会消失。