我想问一下如何使用jquery在对话框中进行表单验证? 例如,如果单击按钮,我将有一个按钮,将调用jquery,并且jquery将从另一个HTML加载我的VIEW。如果用户使用重复的用户名提交,则表单验证必须位于同一对话框中。在我的情况下,如果验证运行,我的页面将转到显示错误消息的表单视图。
这是我的示例代码:
在我的视图中
<input class="classname1" type="button" value="ADD" name="add_category"/>
...
<div id="popup" style="display: none;"></div>
...
...
$(".hero-unit input[name=add_category]").on('click',function(){
$('#popup').load("<?php echo site_url("category_controller/addCategoryItem/"); ?>").dialog({
title: "Add New Category",
autoOpen: true,
width: 450,
modal:true,
});
});
在我的控制器中
public function addCategoryItem(){
$this->form_validation->set_rules('username','Username','required|is_unique[users.username]');
...
...
if($this->form_validation->run() == FALSE){
$this->load->view('Category/contents/addNewItem');
}else{
$this->cat_model->insertCat();
echo "INSERTED";
}
}
在我的表单中查看
echo form_open('category_controller/addCategoryItem');
?>
<input type='text' name='username' value='' />
<?php echo form_error('username'); ?>
<input type='submit' value='ADD' />
<?php
echo form_close();
答案 0 :(得分:0)
在您的表单中,您应该有一个ajax调用来提交表单。
我使用ajaxForm。您可以在此处下载插件:
http://malsup.com/jquery/form/
并且您需要将整个表单包含在具有id的div中,并使用ajaxForm定位此div。 您的表单也应该有ID。
例如:
<div id="ajaxResult">
<?php
$attr = array('id'=>'myForm');
echo form_open('url', $attr); ?>
Your form
</div>
<script>
$(function()
{
var options = { target: '#ajaxResult' };
$('#myForm').ajaxForm(options);
});
</script>
这样,如果有错误,它会显示它。