我正在尝试调整此处的角度联系表单: 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?
我真的很感激一些帮助,因为我花了几个小时试图解决这个问题......
答案 0 :(得分:2)
你快到了。 ng-init中的字符串值需要引用它们。
所以这只意味着:
ng-init="formData.inputSubject = pprice"
应该成为:
ng-init="formData.inputSubject = 'pprice'"