Quiero implementar en la página web la visualización secuencial de bloques con entrada de datos (es decir, después de completar el primer bloque y presionar el botón "OK", se abre el segundo bloque, luego el tercero). El botón en el último bloque envía una solicitud para escribir datos.
El problema es que con la ayuda de reguest.form.get solo puedo recibir datos del formulario en el que se encuentra el botón. ¿Cómo puedo obtener datos de otros formularios?
Soy nuevo en Flask y es posible que mi código no sea muy correcto. ¿Quizás deberías usar javascript?
matraz.py
@app.route('/scenario',methods = ['GET', 'POST']) def control_task(): if(request.form.get('add') == 'add'): ts.add_task(request.form['host_info'].get('task'),request.form['host_info'].get('hostId'), request.form['role_info'].get('role'))html:
<button id='addTask_btn' onclick="hidden_element(addTask_block)">add task</button> <span id="addTask_block" hidden="true"> <form name="host_info"> <select name="task"> {% for test in tests %} <option>{{test}}</option> {% endfor %} </select> </form name='service_info> <button onclick="hidden_element('step_2')">Ok</button> <div hidden="true" id="step_2"> <form name="service_info"> <select id="service" name="service"> {% for role in hosts[0].roles %} <option value="{{role.serviceName}}">{{role.serviceName}}</option> {% endfor %} </select> </form> <button onclick="hidden_element('step_3')">Ok</button> <button onclick="hidden_element('step_3')">Back</button> </div> <div id="step_3" hidden="true"> <form method="post" action="/scenario" name="role_info"> <select name="role"> {% for role in hosts[0].roles %} <option name="{{role.roleType}}">{{role.roleType}}</option> {% endfor %} </select> <button onclick="hidden_element(step_3)" name="add" value="add">Ok</button> </form> </div> </span> <script type="text/javascript"> function hidden_element(id){ document.getElementById(id).hidden = !document.getElementById(id).hidden; } </script>