@ArtiomK

Как заставить страницу открываться в той же вкладке браузера при нажатии кнопки формы Flask Forms POST?

У меня есть Форма с методом POST, я хочу, чтобы при нажатии на кнопку формы страница открывалась в той же вкладке, но она отрывается в новой вкладке.

Примечательно, что если потом перейти на новую вкладку и нажать ту же кнопку на той же форме, то новая страница будет загружаться в той же вкладке, а не в новой.

Как решить эту проблему? Везде нахожу что за открытие отвечает тег target.

Код Flask:

@app.route('/wifi', methods=["GET", "POST"])
def wifi():
    result_dict = None
    pic_end = ""
    if request.method == 'POST':
        start_date = request.form['calendar1']
        end_date = request.form["calendar2"]
        period = request.form["period"]
        # do some work here ...

    return render_template("test_wifi.html", result_dict=result_dict, wifipic="wifi" + pic_end)


код HTML
<form action="" class="ordinary_form" id="wifi_form">

    <label for="calendar1"> Choose period start: </label>
    <input type="date" name="calendar1" id="calendar1" required> <br> <br>
    <label for="calendar2"> Choose period end: </label>
    <input type="date" name="calendar2" id="calendar2" required></p>
    <label for="period"> Step size: </label>
    <select required name="period" id="period">
        <option value="0">Day</option>
        <option value="1">Week</option>
        <option value="2">Month</option>
    </select>
    <br><br>


    <input target="_self" type="submit" value="SEND" formtarget="{{url_for('wifi')}}" formmethod="post" onclick="loading();">
</form>
  • Вопрос задан
  • 492 просмотра
Решения вопроса 1
JawsIk
@JawsIk
Python Django, Lua, ЧПУ-станки(ArtCam, Aspire)
Вот это обязательно???

formtarget="{{url_for('wifi')}}" formmethod="post"

Если в форме просто прописать

<form action="" method="POST"  class="ordinary_form" id="wifi_form">


а кнопку сделать такой:
<input type="submit" value="SEND" onclick="loading();">


Возможно решиться твой вопрос.

Тут нужно понять, что у тебя выходит в результате вместо {{url_for('wifi')}}

Вероятно в одном случае у тебя в этих данных какое-то значение, а в другом случае другое.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы