Domanda

Alcune domande:

Sto usando CI e JQuery AJAX.

Nel mio codice qui sotto, monto dataString, che per impostazione predefinita, viene aggiunto alla URL, una stringa di query.

Ho cambiato il "tipo" di AJAX POST, quindi la mia domanda è -? Come si fa dataString accesso io nella mia CI app

Sembrerebbe che devo ancora uso

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

Che per me, rende l'impostazione dataString ridondante?

-

Ho provato a cercare ma non riesco davvero trovare nulla di concreto.

Sarebbe possibile fare ancora uso di convalida biblioteca CI e AJAX?

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

Normalmente si dovrebbe ricaricare il modulo di contatto o reindirizzare l'utente. In un mondo ideale vorrei i messaggi di errore da mostrare all'utente.

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;
        });  
    });

Spero Sono stato abbastanza chiaro - se qualcuno ha un esempio decente di un modulo di contatto CI che sarebbe grande. c'è roba mista su internet, ma niente che colpisce tutte le caselle.

grazie

È stato utile?

Soluzione

Come ho scritto nei commenti, non è necessario impostare un dataString dal jQuery può farlo per voi:

$(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;
    });  
});
scroll top