【问题标题】:JavaScript Form uploading filesJavaScript 表单上传文件
【发布时间】:2021-06-30 06:14:33
【问题描述】:

我是 web 开发的新手,我正在查看某人的代码,因为有一个允许上传文件的表单。

点击表单调用函数send(this)

所以在js函数中是这样声明的

function send(form){
 if(form[0]==null || form[0].files[0]==null){
  return -1;
 }
}

我不明白form[0]form[0].files[0] 是什么? [0] 代表什么?这是一个数组还是什么?如果它是一个数组,则它没有在代码中的任何地方声明,但代码仍在工作

【问题讨论】:

    标签: javascript jquery forms web


    【解决方案1】:

    表单元素有点奇怪,因为它是类似数组的。它包含的表单控件使用与数​​组相同的基于零的索引添加到元素对象。这些控件也存储在form.elements 中,它也是类似数组的。

    那么对您的问题的简短回答是 form[0] 是表单中的第一个表单控件,在您的情况下它似乎是一个文件输入。

    元素访问器示例:

    const form = document.querySelector('form');
    
    console.log('"form.length" =', form.length)
    console.log('"form[0]" =', form[0])
    Array.from(form).forEach(el => console.log('"forEach el"', el))
    console.log('"form[0]===form.elements[0]" =', form[0] === form.elements[0])
    <form>
      <input type="file" />
      <input placeholder="Text input" />
      <select></select>
    </form>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-02
      • 2014-10-04
      • 2019-06-30
      • 2016-05-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-20
      • 2010-12-05
      相关资源
      最近更新 更多