无法获取使用javascript分配的输入字段`value`

问题描述 投票:1回答:2

我正在将Laravel与Angular JS一起用于表单。我得到了如下形式的文本框

<input type="text" name="removedSiblings" ng-model="form.removedSiblings"
       id="div_removedSiblings" class="form-control">

使用Java脚本,我正在分配一个值(单击按钮)

var elem = document.getElementById('div_removedSiblings');
elem.value = 'malai';

在Controller PHP中获得下面的代码

$removedSiblings = \Input::get('removedSiblings');
logger($removedSiblings);

每当使用javascript获取值时,我总是为$ removedSiblings变量获取空值。

但是,当我在文本框中手动键入一个值时,该值将打印在控制器内部。

这里怎么了?

javascript angularjs angularjs-ng-model
2个回答
2
投票

AngularJS框架不监视value元素的<input>属性。它仅在用户输入或从框架内部进行更新后才更新模型。

对按钮使用ng-click指令:

<button ng-click="form.removedSiblings = 'malai'">
    Click me
</button>

有关更多信息,请参阅


0
投票

这是由于ng-model的使用采用了两种方式的绑定。尝试在controller范围变量form.removedSiblings上设置值。

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.