Para un caso de uso específico, tengo que enviar un formulario único a la "antigua". Significa que uso un formulario con action = "". La respuesta se transmite, por lo que no estoy volviendo a cargar la página. Soy completamente consciente de que una aplicación típica de AngularJS no enviaría un formulario de esa manera, pero hasta ahora no tengo otra opción.
Dicho esto, traté de llenar algunos campos ocultos de Angular:
<input type="hidden" name="someData" ng-model="data" /> {{data}}
Tenga en cuenta que se muestra el valor correcto en los datos.
El formulario se parece a un formulario estándar:
<form id="aaa" name="aaa" action="/reports/aaa.html" method="post">
...
<input type="submit" value="Export" />
</form>
Si presiono enviar, no se envía ningún valor al servidor. Si cambio el campo de entrada para escribir "texto", funciona como se esperaba. Mi suposición es que el campo oculto no está realmente poblado, mientras que el campo de texto en realidad se muestra debido al enlace bidireccional.
¿Alguna idea de cómo puedo enviar un campo oculto poblado por AngularJS?
<input type="hidden" required ng-model="data.userid" ng-init="data.userid=pivot.id" />
. Puede que esta no sea la forma correcta de hacerlo, pero funciona para mí.
display: none;
? Es feo aunque. Angular ignora los elementos ocultos.