Estoy tratando de establecer un valor numérico en el atributo de valor de entrada de un formulario html como una variable. Soy consciente de que el atributo de valor se convierte implícitamente en una cadena. ¿Cómo puedo hacer que se lea la variable antes de que se convierta en una cadena?
<input type="hidden" name="amount" value="" id="amount">
Esta es la entrada cuyo valor quiero establecer.
document.getElementById("amount").setAttribute('value', this.amount)
Este es un método que he estado probando.
Soy consciente de que el atributo de valor se convierte implícitamente en una cadena.
No es correcto, devolverá el número solo si está asignando un valor numérico en un atributo :value .
demostración :
new Vue({ el: '#app', data: { productName: 'xyz', amount: 10 }, methods: { submitForm() { console.log(this.productName, typeof this.productName) console.log(this.amount, typeof this.amount) } } }) <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="app"> <input type="text" id="productName" name="productName" :value="productName"> <input type="hidden" id="amount" name="amount" :value="amount"> <button @click="submitForm">Submit</button> </div> Puede ver el tipo de datos de retorno en la consola al hacer clic en submit .