我使用 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 时,它不会发生,但在这个新版本中,一切都会刷新,我认为所有缓存都已重置。你能帮我删除这个"刷新"只有这个页面吗?
谢谢
您可以像以前一样使用函数,但必须确保警报对话框阻止表单发送!
因此,在调用函数之前插入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 时,它才会发送表单。
如果不发送表单,值也不会消失。
您正在提交表单,请尝试添加以下代码行:
$("#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">
首先,这不是与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。点.
用于类。