Tengo este simple campo oculto en un formulario HTML:
<input type="hidden" id="response" name="response">{{ form.response}}</div>
y quiero cambiar su valor para poder usarlo usando matraz y WTForms más adelante.
Intenté esto:
function(token){ document.getElementById('response').value = token }
y la función se llama con un token válido, pero sin éxito.
¿Alguna sugerencia?
El campo de entrada para un formulario se crea de la siguiente manera, donde son posibles argumentos adicionales como una etiqueta o validadores.
class ExampleForm(FlaskForm): response = HiddenField() submit = SubmitField()
Se requiere el siguiente código para solicitar el valor en el lado del servidor.
@app.route('/', methods=['GET', 'POST']) def index(): form = ExampleForm(request.form) if form.validate_on_submit(): print(form.response.data) return render_template('index.html', **locals())
Si ahora renderiza dentro de la plantilla, los atributos name e id se configuran automáticamente. El valor corresponde al identificador de la variable a la que se asignó el campo de entrada. Para consultar y establecer el valor, puede usar un selector con el atributo de nombre o la identificación del campo de entrada.
<form method="post"> {{ form.csrf_token }} {{ form.response }} {{ form.submit }} </form> <script type="text/javascript"> (() => { const token = 'your token here'; let responseField; // Selecting the input field based on the id attribute, responseField = document.getElementById('response'); responseField.value = token; // or select based on the name attribute. responseField = document.querySelector('input[name="response"]'); responseField.value = token; })(); </script>