如何使用Javascript将数据输入AngularJS表单?

时间:2018-01-25 18:05:17

标签: javascript angularjs forms

此问题下面给出了angularJS表格。我想要做的是使用JavaScript将#quantity输入值从1更改为200,然后单击“购买”按钮。但是在我通过单击“购买”按钮提交表单后,#quantity输入的值将返回其默认值1。 The AngularJS form 我尝试使用以下代码来更改#quantity input元素的值:

var qty = document.getElementById('quantity');
var buy = document.querySelector('button.btn.place');
qty.value = "123";  
qty.select();
buy.click();`

但它不起作用。它总是拒绝这个价值。对不起,我对AngluarJS一无所知,而且我需要花很多时间学习AngularJS。

以下是 QTY 输入元素的代码:

<input type="number" step="1" id="quantity" name="quantity" ng-model="options.quantity" class="input width-100 numeric ng-isolate-scope ng-valid-number ng-valid-checklotsize ng-dirty ng-valid-required ng-valid ng-valid-integer" min="1" checklotsize="1" integer="" esc-key="" esc-key-action="close()" ng-disabled="!uiConstraints.quantity" required="">

购买按钮:

<button type="submit" class="btn place btn-blue" ng-class="options.transaction_type == 'BUY' ? 'btn-blue' : 'btn-orange'" ng-disabled="buysellform.$invalid || order_status === true">
<span class="spinner icon ng-hide" ng-show="order_status === true">
    <span class="icon icon-spinner animate-spin"></span>
</span>
<span class="icon ng-hide" ng-show="order_status !== true &amp;&amp; execution_type == 'MODIFY'">MODIFY</span>
<span class="icon ng-binding" ng-show="order_status !== true &amp;&amp; execution_type == 'PLACE'">BUY</span></button>

1 个答案:

答案 0 :(得分:-1)

请试试这个

var model =  angular.element(document.getElementById('quantity')).data('$ngModelController')
model.$setViewValue('123')
document.querySelector('button.btn.place').click();

这是在javascript中更改角度模型的肮脏方式。