2014-05-13 55 views
0

我有應用程序在codeigniter smarty模板。我要提交與阿賈克斯的表單提交功能,但輸入類型是圖片上傳文件,我使用serialize()爲,但它不能使我的數據...在tpl文件中的文件類型的提交Ajax形式

我.tpl文件的代碼是:

在這個文件中
<form method="post" action="" name="form_submit7" id='form_submit7' class="form-horizontal" enctype="multipart/form-data"> 
    <h4>Logo Uploading</h4> 
    <div class="booth-settings"> 
     <div class="form-group"> 
      <label class="col-md-4 control-label">Upload logo</label> 
      <div class="col-md-7"> 
       <input type="file" name="expo_company_logo" class="form-control" placeholder="Upload Logo"><br> 
      </div> 
      <input type="submit" style="margin-top:20px;" id="save-summary" class="btn btn-primary btn-sm pull-right" value="Upload" /> 
     </div> 
    </div> 
</form> 

和我的AJAX功能是:

$('#form_submit7').submit(function(){ 
    var formVars = $(this).serialize(); 
    **alert(formVars);** 

    $.ajax({ 
     type:  'POST', 
     url:  '{/literal}{$site_url}expo/booth_company_logo/{$id}{literal}', 
     data:  formVars, 
     cache: false, 
     success: function(data) 
     { 
      //alert(data); 
      $('#company-pro').html(data); 
      $('#radios').css("display","none"); 
     } 
    }); 
    return false; 
}); 

但在警報部分原因AJAX功能沒有任何數據來....

+0

您還沒有展示完整的代碼 - 您的代碼中有{/ literal}這意味着您之前也使用了它,也不清楚您的問題是什麼。請添加更多的瑕疵 –

+0

其實這個是smarty模板的.tpl文件,所以在啓動jquery/javascript代碼之前,我們必須傳遞字面值,以便在代碼已通過{literal}標記之前,我只在這裏提供了函數.... – upeksha

回答

0

我想你已經在配置文件中啓用了csrf_protection。如果你打開和關閉你的表單標籤時,所以使用form_helper的form_open()和form_close()函數,這將包括在表單內CSRF鍵全自動 例如隱藏輸入標籤

{form_open('',['name'=>'form_submit7','id'=>'form_submit7','class'=>'form-horizontal'])} 
    <h4>Logo Uploading</h4> 
    <div class="booth-settings"> 
     <div class="form-group"> 
      <label class="col-md-4 control-label">Upload logo</label> 
      <div class="col-md-7"> 
       <input type="file" name="expo_company_logo" class="form-control" placeholder="Upload Logo"><br> 
      </div> 
      <input type="submit" style="margin-top:20px;" id="save-summary" class="btn btn-primary btn-sm pull-right" value="Upload" /> 
     </div> 
    </div> 
    {form_close()} 

也不要忘了加載form_helper第一!