Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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 角度变化';文件';键入至';文本';类型[狩猎]_Javascript_Angularjs_Html_Forms - Fatal编程技术网

Javascript 角度变化';文件';键入至';文本';类型[狩猎]

Javascript 角度变化';文件';键入至';文本';类型[狩猎],javascript,angularjs,html,forms,Javascript,Angularjs,Html,Forms,我有从数组中的对象生成的输入 一切正常,但当input.type='file'时,将其更改为文本类型,我无法理解 有没有注意到这一点 我的模板: <span ng-repeat="input in formInputs"> <label for="{{input.id}}">{{input.label}}</label> <input type="{{input.type}}" id="{{input.id}}" name="{{inpu

我有从数组中的对象生成的输入

一切正常,但当
input.type='file'
时,将其更改为文本类型,我无法理解

有没有注意到这一点

我的模板:

<span ng-repeat="input in formInputs">
    <label for="{{input.id}}">{{input.label}}</label>
    <input type="{{input.type}}" id="{{input.id}}" name="{{input.name}}" ng-model="input.insert" ng-required="input.must">
</span>
var formInputs = [
    {
        label     : 'first name',
        id        : 'id1',
        type      : 'text',
        name      : 'name1',
        must      : true,
        insert    : ''
    },
    {
        label     : 'upload file',
        id        : 'id2',
        type      : 'file',
        name      : 'name2',
        must      : true,
        insert    : ''
    }
]
<span ng-repeat="input in formInputs">
  <label for="id1">first name</label>
  <input type="text" id="id1" name="name1" ng-model="input.insert" ng-required="input.must">
  <label for="id2">upload file</label>
  <input type="text" id="id2" name="name2" ng-model="input.insert" ng-required="input.must">
</span>
我的结果:

<span ng-repeat="input in formInputs">
    <label for="{{input.id}}">{{input.label}}</label>
    <input type="{{input.type}}" id="{{input.id}}" name="{{input.name}}" ng-model="input.insert" ng-required="input.must">
</span>
var formInputs = [
    {
        label     : 'first name',
        id        : 'id1',
        type      : 'text',
        name      : 'name1',
        must      : true,
        insert    : ''
    },
    {
        label     : 'upload file',
        id        : 'id2',
        type      : 'file',
        name      : 'name2',
        must      : true,
        insert    : ''
    }
]
<span ng-repeat="input in formInputs">
  <label for="id1">first name</label>
  <input type="text" id="id1" name="name1" ng-model="input.insert" ng-required="input.must">
  <label for="id2">upload file</label>
  <input type="text" id="id2" name="name2" ng-model="input.insert" ng-required="input.must">
</span>
坚决的[只在狩猎中]:

<input type="text" id="id" name="name">

为什么会这样

谢谢你的帮助

来自:

注意:并非所有提供的功能都适用于所有输入类型。具体来说,
input[file]
不支持通过
ng model
进行数据绑定和事件处理

因此,看起来Angular又回到了
type=“text”
。有很多答案可以解决这个问题,请查看:

根据这个答案,这里有一种处理文件输入的方法


正如所提到的,his乍一看似乎可以工作(使用Angular 1.0.1),但它似乎无法正确填充模型。

可能的副本对我来说很好:它看起来不好,你的浏览器是什么?我的对象中有一个动态类型,我所需要的是我的对象类型插入模板中的输入类型。为什么要将“文件”字符串更改为“文本”?很抱歉,我没有得到它。@ZeevKatz因为
ng model
不支持文件输入,它看起来像是返回到文本输入。好的,我从输入中删除了ng model,但它不工作。我正在编辑我的问题。这只发生在safari中@泽维卡茨:哦,很抱歉误会了,我刚刚看到了你问题中的编辑。我没有Safari,所以测试这将是困难的,我将无法轻松地帮助进一步。