Due to some security/CORS/preflight restrictions, I have to POST a form to an external site using the form's action/method attributes. I cannot submit the form using a controller or other scripted action. This cannot be changed.
Although the value="{{var}}" is working on the input element to bind the value, the value attribute is not rendered in the DOM, so when I attempt a plain old form submit, the posted content is empty due to the missing value attributes.
the template:
<input type="text" id="{{val.key}}" name="{{val.key}}" value="{{val.value}}" />
renders in the DOM as (note the missing value attribute):
<input _ngcontent-c10="" type="text" id="amount" name="amount" class="ng-star-inserted">
Is there any way I can force angular to render the value="xxxx" attribute/value pair in the DOM, to appear like a plain HTML form so the submit works correctly?
Try using attr.value property specific to angular
<input type="text" id="{{val.key}}" name="{{val.key}}" [attr.value]="val.value" />