gpt4 book ai didi

Javascript 和文件上传无法按预期使用 click()

转载 作者:数据小太阳 更新时间:2023-10-29 05:23:46 27 4
gpt4 key购买 nike

我正在用 javascript 创建一个上传控件,然后使用 element.click() 打开文件浏览器对话框。

    function add(type) {            
var element = document.createElement("input");
element.setAttribute("type", type);
element.setAttribute("value", type);
element.setAttribute("name", type);
element.setAttribute("id", "element-" + i);
var removebutton = document.createElement('a');
var removeimage = document.createElement('img');
removeimage.setAttribute("width", 15);
removeimage.setAttribute("height", 15);
removeimage.setAttribute("class", "removebutton");
removeimage.src = "/Content/Images/redx.png";
removebutton.appendChild(removeimage);
removebutton.setAttribute("id", "remove-" + i);
removebutton.setAttribute("onclick", "remove(" + i + "); return 0;");
var newfile = document.getElementById("uploadhere");
//newfile.appendChild(removebutton);
newfile.appendChild(element);
newfile.appendChild(removebutton);
element.click();
i++;
}

文件浏览器对话框按预期出现,但在我选择表单上的提交后,输入到控件中的所有文件都消失了。

如果我单击“浏览”,我会看到文件浏览器对话框,但文件会正确上传。

如何将文件上传控件添加到我的表单并让它显示文件浏览器对话框并且仍然按预期工作。

最佳答案

"file"输入类型必须包含属性:

enctype="multipart/form-data"

指定post方法时。看到这个:http://www.w3.org/TR/html4/interact/forms.html#edef-FORM

在这种情况下可能还有其他限制,根据您的问题,听起来您可能正在尝试在 AJAX 调用中进行上传。看看这里的答案:https://stackoverflow.com/questions/3686917/post-to-php-with-enctype-multipart-form-data

如果您使用的是 jQuery,则无法从您的代码中确定,但如果您尝试过隐藏输入表单并使用 clone()根据需要创建另一个?

关于Javascript 和文件上传无法按预期使用 click(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8823747/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com