Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
Php jQuery:如何获取;“价值”;文件上载输入字段的名称_Php_Javascript_Jquery_Forms_File Upload - Fatal编程技术网

Php jQuery:如何获取;“价值”;文件上载输入字段的名称

Php jQuery:如何获取;“价值”;文件上载输入字段的名称,php,javascript,jquery,forms,file-upload,Php,Javascript,Jquery,Forms,File Upload,是否可以使用javascript/jQuery确定用户是否为特定的输入type=“file”字段选择了一个文件 我已经为ExpressionEngine(基于PHP的CMS)开发了一个自定义字段类型,允许用户在AmazonS3上上传和存储他们的文件,但最流行的EE托管服务将最大上传文件限制为20。我想允许用户上传20个文件,再次编辑条目以添加20个,等等。不幸的是,编辑条目后,最初的20个文件有一个“替换此图像”文件输入字段,这似乎排除了上传新图像的可能性。提交表单时,我希望通过javascri

是否可以使用javascript/jQuery确定用户是否为特定的输入type=“file”字段选择了一个文件


我已经为ExpressionEngine(基于PHP的CMS)开发了一个自定义字段类型,允许用户在AmazonS3上上传和存储他们的文件,但最流行的EE托管服务将最大上传文件限制为20。我想允许用户上传20个文件,再次编辑条目以添加20个,等等。不幸的是,编辑条目后,最初的20个文件有一个“替换此图像”文件输入字段,这似乎排除了上传新图像的可能性。提交表单时,我希望通过javascript删除所有未使用的文件输入字段。

此上载程序在我看来运行得非常好:

使用它作为编码基础的好处是,文件是异步上传的,因此无需一次最多上传20个文件。在用户搜索时上传有一个明确的UI好处


如果你需要的话,调整大小也是一个很好的功能

是-如果需要,您可以读取该值,甚至绑定到
change
事件

<html>
<head>
  <title>Test Page</title>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <script type="text/javascript">
  $(function()
  {
    $('#tester').change( function()
    {
      console.log( $(this).val() );
    });
  });
  </script>
</head>

<body>

<input type="file" id="tester" />

</body>
</html>

测试页
$(函数()
{
$('#tester')。更改(函数()
{
log($(this.val());
});
});

但是还有其他多个上传解决方案可能更适合您的需要,例如bpeterson76 posted。

此代码将从表单中删除所有空文件输入,然后提交:

HTML:

<form action="#">
  <input type="file" name="file1" /><br />
  <input type="file" name="file2" /><br />
  <input type="file" name="file3" /><br />
  <input type="file" name="file4" /><br />
  <input type="file" name="file5" /><br />

  <input type="submit" value="Submit" />
</form>
$(function() {
  $("form").submit(function(){
    $("input:file", this).filter(function(){
      return ($(this).val().length == 0);
    }).remove();
  });
});
示例:

非常感谢。我不认为.val()会在文件输入中返回任何内容,我想我应该试试:)多次上传的内容与我这次想做的方向不太一致,尽管我通常会同意。再次感谢。文件输入字段完全可读,只是不可写。