2016-06-18 116 views
0

我已經得到這個奇怪的錯誤,我只是無法弄清楚遺漏的類型錯誤:無法讀取的不確定

這裏財產「0」是我當前的代碼:

function addBackground() { 
    var penguin_id = getPenguinID(); 
    var file = $('#image_form')[0].files[0]; 
    console.log('Image Getting Uploaded'); 
    var formData = new FormData(); 
    formData.append('file', file); 
    $.ajax({ 
     url: "custBG.php", 
     type: "POST", 
     data: formData, 
     cache: false, 
     contentType: false, 
     processData: false, 
     mimeType: 'multipart/form-data' 
    }).done(function(data) { 
     if (data.status == 0) { 
       console.log('Image Has Been Uploaded'); 
       addBGItem(70000 + penguin_id); 
     } else { 
      console.log(data.message); 
     } 
    }); 
} 

這裏表格

<form id="image_form"> 
<div class="left"> 
<img id="img-uploaded" src="http://dummyimage.com/210x210/dbdbdb/7e7f80.png" alt="your image" /> 
</div> 
<div class="right"> 
<input type="file" name="imageToUpload" accept=".png,.jpeg,.jpg,.gif" onchange="validate_image()"> 
<span class="btn btn-large btn-alpha" onclick="addBackground()">Upload Image</span> 
</span> 
</div> 
</form> 

我不確定發生了什麼,但任何人都可以幫助我解決問題。

+0

哪行代碼會給你這個錯誤? –

+0

它不告訴我,但這裏http://prntscr.com/bhrmx9 –

+1

它確實:行2(inline-fe9e22321d.js:** 2 **),我認爲是'var file = $('# image_form')[0] .files [0];'由於錯誤的性質。介意在DOM中的#image_form中發佈什麼內容? –

回答

1

在jQuery中,使用id選擇器(如 $('#image_form'))只會產生第一個結果,因此它旁邊的 [0]不需要。 (忘記了,ID選擇器will always yield a collection no matter how many items there are - 感謝Leo提出。)此外,它沒有財產files,這將產生另一個錯誤。

你想在這裏實現什麼?

+0

我想要它從custBG.php –

+0

檢索編碼的json錯誤我的意思是,在'var file = $('#image_form')[0] .files [0];' –

+3

''元素應該有'files'屬性,但'

'不。所以''(「#image_form input [type ='file']」)[0] .files [0]'應該在修復該特定行代碼的意義上「起作用」。 – nnnnnn

0

你的問題在於我相信files[0]。也許你正試圖在輸入字段中獲取值?你正在購買一個公司的jquery集合,其中的files屬性是未定義的。 $("#image_form").find("input").val()應該給你輸入框的值,雖然可能有更合適的方式處理形式

+0

我試過了,但它給了我這個http:// prntscr。com/bhrtzb –

+0

這是這行'console.log(data.message);' –

+0

永遠不介意我修復它;問題是它沒有數據類型是Json –

0

而不是$('#image_form')[0].files[0];嘗試$('#image_form').prop('files')[0]; 它爲我工作。

相關問題