AngularJS:页面返回后Chrome隐藏字段值不会更新

时间:2014-07-02 10:21:05

标签: angularjs

我有一个使用AngularJS管理的表单。 我在ng-repeat dropdonw列表上使用来更新隐藏的字段值。 一切正常,直到我使用chrome并提交代码,然后执行

  

"页面返回/返回一页"

如果我再次尝试使用dropdonw列表,它只更新print语句中的模态值而不是隐藏输入的值。

<input type="hidden" name="postageId" value="{{intPostageId}}" ng-model="intPostageId" />{{intPostageId}}
输入外的

{{intPostageId}}有效,但里面的那个没有更新

非常感谢

2 个答案:

答案 0 :(得分:3)

出于某种原因,角度不会使用ng-model更新隐藏的输入值。你必须做一个非常明确的指示才能让它发挥作用。

您不需要具有ng-model的值绑定就足够了。

module.directive('updateHidden', function () {
    return function (scope, el, attr) {
        var model = attr.ngModel;
        scope.$watch(model, function (val) {
            el.val(val);
        });
    };
});

答案 1 :(得分:0)

我自己遇到了这个问题。不知道为什么会发生这种情况,但我发现这是一个简单的解决方法,只需将显示的文本字段的隐藏字段交换为:none

<input type="text" name="postageId" value="{{intPostageId}}" style="display:none">