2013-07-19 26 views
0

只想问一下如何在使用jquery的对话框中进行表单验证? 例如我有一个按钮,如果你点击按钮,jquery将被调用,并且jquery将从另一个HTML中加载我的VIEW。如果用户使用重复的用户名提交,表单验证必须位于同一个对话框中。在我的情况下,如果验证运行,我的页面将转到显示错误消息的窗体视图。使用Codeigniter和JqueryUI对话框进行表单验证

这里是我的示例代码:

在我看来

<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

使用jquery validate.js插件,它会解决你的问题。 –

回答

0

在您的表单中,您应该有一个ajax调用来提交表单。

我使用ajaxForm。你可以在这里下载该插件吧:

http://malsup.com/jquery/form/

而且你需要包括一个id一个div内整个窗体,然后针对此分度,给ajaxForm。 你的表单也应该有一个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> 

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

+0

谢谢你,我现在就试试。 – rochellecanale