stefan
stefan

Reputation: 2785

AngularJS : Chrome hidden fields value don't update after page return

I have a form that is managed with AngularJS. I use on ng-repeat dropdonw list to update a hidden field value. Everything works fine until I use chrome and submit the code and then do a

"page return/Go back one page"

If i try to use the dropdonw list again it only updates the modal value in a print statement not the value of the hidden input.

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

{{intPostageId}} outside the input works, but the one inside doesn't update

Much appreciated

Upvotes: 2

Views: 518

Answers (2)

Marcin Wasilewski
Marcin Wasilewski

Reputation: 735

I came across this problem myself. No idea why this happens but and an easy workaround I found for this is to just swap the hidden field for a text field with display:none

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

Upvotes: 0

Jon
Jon

Reputation: 4295

For some reason angular doesn't update hidden input values with ng-model. You will have to do a quite directive to get this to work.

You don't need the value binding you have ng-model will be enough.

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

Upvotes: 3

Related Questions