将隐藏的输入值绑定到ng-init

时间:2015-02-23 21:41:34

标签: angularjs forms input hidden

我正在尝试调整此处的角度联系表单: http://www.chaosm.net/blog/2014/05/21/angularjs-contact-form-with-bootstrap-and-phpmailer/

它与常规文本字段完美配合,我通过PHP邮件程序获取所有提交的数据。但是,出于特定目的,我需要从隐藏的输入字段提交数据。由于未知原因,当我使用两个隐藏的输入传递数值时,它仍然有效:

<input type="hidden" ng-model="pprice" ng-init="pprice=241.50" value="241.50" />
<input type="hidden" ng-model="formData.inputSubject" id="inputSubject" name="inputSubject" ng-init="formData.inputSubject = pprice" />

不幸的是,这个方法不适用于文本值或来自另一个控制器的角度表达式 - 尽管正在正确呈现value属性,但ng-init似乎不接受它:

<input type="hidden" ng-model="formData.inputSubject" value="{{post.title}}" ng-init="formData.inputSubject=post.title" />

到目前为止,我找到的其他解决方案都没有工作:Bind hidden inputs to model in angular Angularjs assigning value to ng-model using ng-init

为什么ng-init只接受数值? 为什么在第二种情况下没有将值属性表达式传递给ng-init?

我真的很感激一些帮助,因为我花了几个小时试图解决这个问题......

1 个答案:

答案 0 :(得分:2)

你快到了。 ng-init中的字符串值需要引用它们。

所以这只意味着:

ng-init="formData.inputSubject = pprice"

应该成为:

ng-init="formData.inputSubject = 'pprice'"