jquery - CodeIgniter 中的 AJAX 联系表单

标签 jquery ajax codeigniter contact-form

几个问题:

我正在使用 CI 和 JQuery AJAX。

在下面的代码中,我组装了 dataString,默认情况下,它会作为查询字符串附加到 URL。

我已将 AJAX“类型”更改为 POST,所以我的问题是 - 如何在 CI 应用程序中访问 dataString

看来我还是得用

$name=$this->input->post('name')

对我来说,这使得设置 dataString 变得多余?

--

我尝试过搜索,但找不到任何具体内容。

是否仍然可以使用 CI 验证库和 AJAX?

if($this->form_validation->run() == FALSE)
{
    // what can i return so that my CI app shows errors?
}

通常您会重新加载联系表单或重定向用户。在理想的情况下,我希望向用户显示错误消息。

Jquery:

    $(document).ready(function($){
        $("#submit_btn").click(function(){
            var name = $("input#name").val();
            var company = $("input#company").val();
            var email = $("input#email").val();
            var phone = $("input#phone").val();
            var message = $("textarea#message").val();
            var dataString = 'name=' +  name + '&message=' + message + '&return_email=' + email + '&return_phone=' +
            phone + '&company=' + company;
            var response = $.ajax({
                type: "POST",
                url: "newsite/contact_ajax/",
                data: dataString
            }).responseText;

            //$('#contact').hide();
            //$('#contact').html('<h5>Form submitted!  Thank you!</h5><h4>We will be in touch with you soon.</h4>');
            //$('#contact').fadeIn('slow');
            return false;
        });  
    });

希望我已经说得足够清楚了 - 如果有人有 CI 联系表的合适示例,那就太好了。互联网上的东西五花八门,但没有什么是符合所有条件的。

谢谢

最佳答案

正如我在评论中所写,您不需要设置 dataString 因为 jQuery 可以为您做到这一点:

$(document).ready(function($){
    $("#submit_btn").click(function(){
        var response = $.ajax({
            type: "POST",
            url: "newsite/contact_ajax/",
            data: $(your_form_id).serialize()
        }).responseText;

        //$('#contact').hide();
        //$('#contact').html('<h5>Form submitted!  Thank you!</h5><h4>We will be in touch with you soon.</h4>');
        //$('#contact').fadeIn('slow');
        return false;
    });  
});

关于jquery - CodeIgniter 中的 AJAX 联系表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4604140/

相关文章:

jquery - 使用 jQuery 将所有元素包装在 div 中

javascript - 当特定的 ajax 请求完成时做某事

javascript - JQuery 和 select2 - $ 范围冲突

security - 考虑到安全性,PHP 框架有哪些优势?

javascript - 如何避免在 Backbone 中使用空 div 进行模板包装?

javascript - jquery div扩展背景颜色不透明度变化

javascript - 使用 Ajax 更新页面的一部分而不使用 jQuery

php - 如何从CodeIgniter中的数据库中获取下拉列表中的数据

php - Facebook SDK 注销不工作

javascript - 输入中的 Chrome 现金值(value)