我使用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时,它不会发生,但在这个新版本中,一切都刷新,我认为所有缓存都被重置。你能帮我删除这个“刷新”这个页面。
由于
答案 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时才会发送表单。
如果表单没有发送,价值就不会消失。