Скрытый ввод должен иметь одинаковое значение для атрибутов idи nameатрибутов.
Вы устанавливаете атрибут id с атрибутом value phoneи name со значением phone, что, вероятно, является причиной путаницы. Это означает, что элемент, который вы тестируете в браузере ( id="field_phone"), не будет элементом, который вы получите на сервере ( name="phone").
Дополнительная информация здесь . Попробуйте вместо этого настроить свой скрытый ввод так ...
<input type="hidden" class="form-control form-control-200" name="field_phone" id="field_phone" ng-model="vm.form.phone" />
Кроме того, попробуйте использовать onsubmitсобытие формы для настройки данных, отправляемых на сервер.
$( "form" ).submit(function( event ) {
$("#field_phone").val($(this).intlTelInput("getNumber"));
});
Делать это таким образом, лучше, потому что ваш код больше не будет зависеть от какого- onblurлибо onchangeсобытия на #field_phone_pasarполе.