1

我编写了以下 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 个小时了!

先感谢您!

4

1 回答 1

0

因为你没有清空它们?

$("input[name=name]").val("");
于 2012-10-30T08:41:04.503 回答