Uncaught TypeError: Cannot read property 'files' of null of element
Uncaught TypeError: Cannot read property 'files' of null of element
我正在创建一个可以聊天的小网站。目前只能发送短信,我想打开一个文件发送器,也可以发送图片、视频、gif。
一路上我遇到了一些问题,但到目前为止,没有其他人的支持就得到了一切。不过,我现在很需要它。
通过使用 FormData
、Ajax 和 jQuery,我可以将实时图像从客户端发送到 PHP 服务器。我面临的问题是:
Uncaught TypeError: Cannot read property 'files' of null
尝试将文件附加到 formData
时。看看:
function opencraze() {
$(".browse_send_file").change(function () {
var chat_id = "123";
var formData = new FormData();
formData.append("chat_id", chat_id);
var name = document.getElementById('#browse_' + chat_id);
var filemsg = name.files[0];
formData.append("userfile", filemsg);
});
}
HTML:
<div class="chat_wcom" style="width: 25%;">
<label for="browse_123" class="material-icons"></label>
<input type="file" class="browse_send_file" id="browse_123" name="browse_send_file" style="display: none">
<input maxlength="140" type="text" id="input_123" class="comin" placeholder="My message..." name="sendmsg" onkeypress="g(event,123)" autocapitalize="off" autocorrect="off" style="width: auto;">
<input class="hidden_index" type="text" value="123" name="chat_index">
</div>
一切之前发生的事情是,当用户点击一个div
时,上面的这个HTML就会生成,一旦生成,它就会调用opencraze()
函数。现在,如果按下聊天标签,就会选择文件并激活 .change()
jQuery 功能。错误在以下行:
var filemsg = name.files[0];
如有任何帮助,我们将不胜感激。
谢谢你的时间。
原生 javascript document.getElementById() 期望 'id' 为没有 jQuery 选择器 #
.
的字符串
所以删除#:
var name = document.getElementById('browse_'+chat_id);
或使用jQuery selector方法:
var name=$('#browse_'+chat_id);
我正在创建一个可以聊天的小网站。目前只能发送短信,我想打开一个文件发送器,也可以发送图片、视频、gif。
一路上我遇到了一些问题,但到目前为止,没有其他人的支持就得到了一切。不过,我现在很需要它。
通过使用 FormData
、Ajax 和 jQuery,我可以将实时图像从客户端发送到 PHP 服务器。我面临的问题是:
Uncaught TypeError: Cannot read property 'files' of null
尝试将文件附加到 formData
时。看看:
function opencraze() {
$(".browse_send_file").change(function () {
var chat_id = "123";
var formData = new FormData();
formData.append("chat_id", chat_id);
var name = document.getElementById('#browse_' + chat_id);
var filemsg = name.files[0];
formData.append("userfile", filemsg);
});
}
HTML:
<div class="chat_wcom" style="width: 25%;">
<label for="browse_123" class="material-icons"></label>
<input type="file" class="browse_send_file" id="browse_123" name="browse_send_file" style="display: none">
<input maxlength="140" type="text" id="input_123" class="comin" placeholder="My message..." name="sendmsg" onkeypress="g(event,123)" autocapitalize="off" autocorrect="off" style="width: auto;">
<input class="hidden_index" type="text" value="123" name="chat_index">
</div>
一切之前发生的事情是,当用户点击一个div
时,上面的这个HTML就会生成,一旦生成,它就会调用opencraze()
函数。现在,如果按下聊天标签,就会选择文件并激活 .change()
jQuery 功能。错误在以下行:
var filemsg = name.files[0];
如有任何帮助,我们将不胜感激。 谢谢你的时间。
原生 javascript document.getElementById() 期望 'id' 为没有 jQuery 选择器 #
.
的字符串
所以删除#:
var name = document.getElementById('browse_'+chat_id);
或使用jQuery selector方法:
var name=$('#browse_'+chat_id);