Javascript Jquery选择图像,然后获取未定义的长度
我正在尝试使用jquery制作一个上传图像系统。但是我越来越 未捕获的TypeError:无法读取未定义的属性“length”Javascript Jquery选择图像,然后获取未定义的长度,javascript,jquery,Javascript,Jquery,我正在尝试使用jquery制作一个上传图像系统。但是我越来越 未捕获的TypeError:无法读取未定义的属性“length” 我得到的错误代码如下。当我单击imageInput按钮,然后在单击ok按钮后选择一个图像时,我无法从开发人员控制台读取未定义错误的属性'length'。我做错了什么?在这方面谁能帮我 HTML结构 <li id="box_devstud" class="tab active-chat" client="devstud" style="bottom: 0px; ri
我得到的错误代码如下。当我单击imageInput按钮,然后在单击ok按钮后选择一个图像时,我无法从开发人员控制台读取未定义错误的属性'length'。我做错了什么?在这方面谁能帮我 HTML结构
<li id="box_devstud" class="tab active-chat" client="devstud" style="bottom: 0px; right: 230px;"></li>
<input id="imageInput" type="file" name="file" onchange="uploadimage('devstud');">
<input id="to_id" name="to_id" value="11" type="hidden">
<input id="to_uname" name="to_uname" value="devstud" type="hidden">
<input id="from_uname" name="from_uname" value="Beenny" type="hidden">
这里是我的javascript代码
function uploadphoto(thisuser) {
var file_name=$("#box_"+thisuser+" #imageInput").val();
var fileName = $("#box_"+thisuser+" #imageInput").val();
var fileExtension = fileName.substring(fileName.lastIndexOf('.') + 1);
var toid = $("#box_"+thisuser+" #to_id").val();
var tun = $("#box_"+thisuser+" #to_uname").val();
var fun = $("#box_"+thisuser+" #from_uname").val();
var siteurl = 'requests/postprog.php?toid='+toid+'&tun='+tun+'&fun='+fun;
var file_data=$("#box_"+thisuser+" #imageInput").prop("files")[0];
var form_data=new FormData();
form_data.append("file",file_data);
$('#loadmsg_'+thisuser).show(); // Loader show
$.ajax({
type:"POST",
url: siteurl,
cache:false,
contentType:false,
processData:false,
data:form_data,
success:function(data){
//alert(data);
$.each(data.items, function(i,item){
if (item) { // fix strange ie bug
chatboxtitle = item.chatboxtitle;
filename = item.filename;
path = item.path;
$('#loadmsg_'+chatboxtitle).hide(); // Loader hide
var message_content = "<a url='"+path+"' onclick='trigq(this)'><img src='"+filename+"' style='max-width:156px;min-height:100px;padding: 4px 0 4px 0; border-radius: 7px;cursor: pointer;'/></a>";
$("#box_"+chatboxtitle+" .chatboxcontent").append('<div class="chatboxmessage direct-chat-msg right"><div class="direct-chat-info clearfix"><span class="direct-chat-name pull-right">'+item.sender+'</span></div><img class="direct-chat-img" src="storage/user_image/'+img+'" alt="message user image"><span class="direct-chat-text">'+message_content+'</span></div>');
}
setTimeout(scrollDown(chatboxtitle), 5000);
});
},
error:function(){
//Do something
}
});
}
在fileName变量中,您可以这样调用DOM元素
function uploadphoto(thisuser) {
var fileName = $("#box_"+thisuser+" #imageInput").val();
// Rest of code ....
}
从给定的html代码片段中,您已将imageInput文件放在标记之外
请将您的输入文件放在li标记中,这样您现在就可以调用DOM元素了
<li id="box_devstud" class="tab active-chat" client="devstud" style="bottom: 0px; right: 230px;">
<input id="imageInput" type="file" name="file" onchange="uploadimage('devstud');">
<input id="to_id" name="to_id" value="11" type="hidden">
<input id="to_uname" name="to_uname" value="devstud" type="hidden">
<input id="from_uname" name="from_uname" value="Beenny" type="hidden">
</li>
无法从开发人员控制台读取未定义错误的属性“length”>>能否显示控制台窗口中的错误消息?@eeya我从控制台窗口添加了该消息。