关闭后,Twitter引导程序中的Jquery和codeigniter模式表单验证无法清除

时间:2012-10-30 08:08:02

标签: jquery codeigniter

我写了以下ajax代码来验证我的表单,它实际上是一个模态窗口。但是当我再次打开表单时单击关闭或保存后,值仍然存在。以下是我的代码:

<script>

$(function() {

    $("#submit_button").click(function( e ) {
        e.preventDefault();


        var name    = $("input[name=name]").val();
        var amount  = $("input[name=amount]").val();
        var model   = $("select[name=model]").val();
        var brand   = $("select[name=brand]").val(); 

        $.ajax({
                type: "POST",
                url: "<?=base_url()?>index.php/items/create",
                cache: false,
                dataType: "json",
                data: 'name='+name+'&amount='+amount+'&model='+model+'&brand='+brand,
                success: function(result){
                    if(result.error) {
            $(".alert").fadeIn('slow');
            $("#error_message").html(result.message);
          } else {            
            $(".alert").fadeIn('slow');
            $("#error_message").html(result.message);
            $('#new_item').modal('hide')
          }

                }
        }); 

    });
});

</script>

这是控制器代码:

public function create()
    {
        //creating the required validation fields
        $this->form_validation->set_rules('name', 'Name', 'trim|required');
        $this->form_validation->set_rules('brand', 'Brand', 'trim|required');
        $this->form_validation->set_rules('amount', 'Amount', 'trim|required|numeric');

        $result = array();

        if ($this->input->is_ajax_request()) 
        {

            if ($this->form_validation->run() == FALSE) {
                $result['error'] = true;
                $result['message'] = validation_errors();
            } else {

                $result['error'] = true;
                $result['message'] = 'The record has been saved';           

                $this->m_items->create();               
                redirect('items/index', 'refresh');
            }  

            $json = json_encode($result);
            die($json);
        }
        else
        {
            redirect('items/index', 'refresh');
        }
    }

第二个问题是,在我单击“保存”后,该条目在数据库中生成,但没有显示任何消息,表单保留在其位置。然后我必须手动刷新页面并执行它。

有人能够善待并给我解决方案......我会像任何人一样感激不尽!

请帮助我,因为我现在已经尝试修复它超过3个小时了!

提前谢谢!

1 个答案:

答案 0 :(得分:0)

因为你没有清空它们?

$("input[name=name]").val("");