0

只是想问我如何使用 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();
4

1 回答 1

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>

这样,如果有错误,它将显示它。

于 2013-07-19T07:00:28.873 回答