Welcome Guest, Not a member yet? Register   Sign In
Ajax Contact Form submit bug
#2

[eluser]guynamedkeith[/eluser]
codeigniter controller
Code:
 
<?php
 
class Contact extends Controller {
 
    function Contact()
    {
        parent::Controller();
    }
   
    function index()
    {
        //run form validation
        $success = $this->form_validation->run();
        $form['test'] = 0;
       
        if(IS_AJAX)
        {
            $form['test'] = 1;
            if(!$success)
            {
                $this->form_validation->
                    set_error_delimiters('<em class="error">', '</em>');
                $this->load->view('contact/form', $form);
            }
            else
            {
                $form['name'] = $this->input->post('name');
                $form['email'] = $this->input->post('email');
                $form['subject'] = $this->input->post('subject');
                $form['message'] = $this->input->post('message');
                $this->load->view('contact/success', $form);
            }
        }
        else
        {
            if(!$success)
            {
                $this->form_validation->
                    set_error_delimiters('<em class="error">', '</em>');
                $data['form'] = $this->load->view('contact/form', $form, TRUE);
                $data['details'] = $this->load->view('contact/details', null, TRUE);
                $this->load->view('contact/layout', $data);
            }
            else
            {
                $form['name'] = $this->input->post('name');
                $form['email'] = $this->input->post('email');
                $form['subject'] = $this->input->post('subject');
                $form['message'] = $this->input->post('message');
                $this->load->view('contact/success', $form);
            }
        }
    }
   
    function ajaxSend()
    {      
        // validation is handled in config/form_validation.php
        if ($this->form_validation->run() == FALSE)
        {
            // change html for each error message
            $this->form_validation->
                set_error_delimiters('<em class="error">', '</em>');
            $this->load->view('contact/form');
        }
        else
        {
            $form['name'] = $this->input->post('name');
            $form['email'] = $this->input->post('email');
            $form['subject'] = $this->input->post('subject');
            $form['message'] = $this->input->post('message');
            $this->load->view('contact/success', $form);
        }
    }
}
 
/* End of file welcome.php */
/* Location: ./system/application/controllers/contact.php */
 

codeigniter view
Code:
 
&lt;?php
$attributes = array('class' => 'email', 'id' => 'myForm', 'class' => 'klform');
echo form_open('contact/index', $attributes); ?&gt;
 
    <fieldset>
        &lt;?php if($test == 1): ?&gt;
            <legend>Ajax Form</legend>
        &lt;?php else: ?&gt;
            <legend>Contact Form</legend>
        &lt;?php endif;?&gt;
        <ol>  
            <li>  
                <label for="name">Name &lt;?php echo form_error('name'); ?&gt;</label>  
                &lt;input type="text" name="name" class="textbox"
                       value="&lt;?php echo set_value('name'); ?&gt;" /&gt;  
            </li>
            <li>  
                <label for="email">Email Address &lt;?php echo form_error('email'); ?&gt;</label>  
                &lt;input type="text" name="email" class="textbox"
                       value="&lt;?php echo set_value('email'); ?&gt;" /&gt;  
            </li>
            <li>  
                <label for="subject">Subject &lt;?php echo form_error('subject'); ?&gt;</label>  
                &lt;input type="text" name="subject" class="textbox"
                       value="&lt;?php echo set_value('subject'); ?&gt;" /&gt;  
            </li>
            <li>  
                <label for="message">Message &lt;?php echo form_error('message'); ?&gt;</label>  
                &lt;textarea type="text" name="message" /&gt;&lt;?php echo set_value('message'); ?&gt;&lt;/textarea&gt;
            </li>
        </ol>
    </fieldset>
    <fieldset class="submit">  
        &lt;input class="submit" type="submit" value="Submit" /&gt;
    </fieldset>
 
&lt;/form&gt;
 


Messages In This Thread
Ajax Contact Form submit bug - by El Forum - 06-25-2010, 12:45 AM
Ajax Contact Form submit bug - by El Forum - 06-25-2010, 12:45 AM
Ajax Contact Form submit bug - by El Forum - 06-25-2010, 01:22 AM



Theme © iAndrew 2016 - Forum software by © MyBB