使用jquery ajax方法提交联系表单并将变量传递给codeigniter控制器

时间:2014-04-17 21:09:08

标签: jquery ajax codeigniter

我是这些字段的联系表格:姓名,电子邮件,电话,留言。

HTML:

<form action="main/kontakt" method="post" accept-charset="utf-8">
    <table>
            <tr>
                <td class="left-col">Vaše ime:</td>
                <td><input type="text" name="fname" value="" maxlenght="20"  /></td>
            </tr>
            <tr>
                <td class="left-col">Vaš E-mail:</td>
                <td><input type="text" name="email" value="" maxlenght="60"  /></td>
            </tr>
            <tr>
                <td class="left-col">Vaš broj:</td>
                <td><input type="text" name="phone" value="" maxlenght="15"  /></td>
            </tr>
            <tr>
                <td class="left-col">Poruka:</td>
                <td><textarea name="message" cols="40" rows="10" maxlenght="20" ></textarea></td>
            </tr>
            <tr>
                <td></td>
                <td><input type="hidden" name="bot" maxlenght="10"/></td>
            </tr>
            <tr>
                <td></td>
                <td><input type="submit" name="submit" value="Pošalji"  /> <img src="img/ajax-loader.gif" id="loader" /></td>
            </tr>
        </table>
        </form>

Javascript(此代码适用于没有CI的其他网站):

$(document).ready(function(){
$('input[type="submit"]').click(function(){
    var name = $('input[name="fname"]').val();
    var email = $('input[name="email"]').val();
    var phone = $('input[name="phone"]').val();
    var message = $('textarea[name="message"]').val();
    var control = $('input[name="bot"]').val();

    if(name == "" || message == ""){
        alert("failure");
    }else{
         if(email == "" && cell == ""){
            alert("failure");                
         }else{
            if(control){
                return false
            }else{
                $('#loader').css('display', 'inline-block');
                $.ajax({
                    type: 'POST',
                    url:  'main/kontakt', 
                    data: {name:name,email:email,phone:phone,message:message}
                }).done(function(data){
                    $('#loader').css('display', 'none');
                    $('input[type="submit"]').attr('disabled', 'disabled');
                    $('input[type="submit"]').css('opacity', '0.5');
                    $('input[type="submit"]').css('cursor', 'default');
                }); 
            }   
         }
    }

});});

这里是我不知道如何完成控制器从jquery获取变量的地方。我已尝试过$ this-&gt; input-&gt; post(&#39; name&#39;);和set_value(&#39; name&#39;);

控制器:

public function kontakt()
{
    $data['name'] = $this->input->post("name");

    $this->load->view('view_head');
    $this->load->view('view_header');
    $this->load->view('view_contact', $data);
    $this->load->view('view_aside');
    $this->load->view('view_footer');
}

0 个答案:

没有答案