Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设置';捕获';通过JavaScript输入的HTML表单图像的属性_Javascript_Html_Forms - Fatal编程技术网

设置';捕获';通过JavaScript输入的HTML表单图像的属性

设置';捕获';通过JavaScript输入的HTML表单图像的属性,javascript,html,forms,Javascript,Html,Forms,对于我的一个项目,我有一个包含文件输入的表单(接受.jpg和.png)。我知道我可以在输入标签中设置capture属性,这样当点击按钮时,它就可以直接进入摄像头,而不是显示文件选择器(此处针对手机/平板电脑的使用)。这很有效 例如,它将如下所示: 现在我想用JavaScript动态地将文件输入添加到表单中,当他们按下添加另一个图像按钮时 我已经走了这么远: const input=document.createElement('input')) input.type='file'; inpu

对于我的一个项目,我有一个包含文件输入的表单(接受.jpg和.png)。我知道我可以在输入标签中设置
capture
属性,这样当点击按钮时,它就可以直接进入摄像头,而不是显示文件选择器(此处针对手机/平板电脑的使用)。这很有效

例如,它将如下所示:


现在我想用JavaScript动态地将文件输入添加到表单中,当他们按下
添加另一个图像
按钮时

我已经走了这么远:

const input=document.createElement('input'))
input.type='file';
input.name='image';
input.accept='image/jpeg,image/png';
document.getElementById('image-input-container').appendChild(输入);
输入。单击();
有没有一种方法可以使用JavaScript以这种方式设置
capture
属性?

您可以使用它来设置捕获

input.setAttribute("capture", "");
accept属性还应设置为允许任何类型的图像

input.accept = 'image/*';

应该像大多数其他独立属性一样工作-
input.capture=true
?@CBroe,我已经尝试过了,但是JS似乎忽略了它,根本没有将它添加到输入中。虽然这确实正确地将属性添加到标记中,但它也添加了一个空字符串作为值。我的手机/浏览器(Google Pixel 2XL,使用Google Chrome)似乎没有将其识别为捕获输入,而是显示文件界面(与没有
capture
属性相同)。您是否尝试将其设置为“用户”或“环境”?啊哈!事实上,它在使用空字符串时确实有效。问题是
accept=“image/jpeg,image/png”
。将此设置为
accept=“image/*”
时,您的解决方案运行良好。谢谢@密特拉没问题。