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,所以测试这将是困难的,我将无法轻松地帮助进一步。