Кнопка перенаправляется при нажатии, но я хочу, чтобы она также передавала значение - PullRequest
0 голосов
/ 03 мая 2020

У меня есть настольный календарь html с датами для кнопок. Когда пользователь нажимает кнопку, кнопка перенаправляет их на страницу встреч. Тем не менее, мне нужно передать значение кнопки с соответствующей датой на страницу встреч, чтобы пользователь мог назначить встречу на эту дату.

<button type="button" value = "1" onclick="window.location.href='{{ url_for( 'appointments') }}';">1</button>

Я хотел бы передать значение «1» на странице / встреч, когда я нажимаю кнопку, но я не знаю, как это сделать. Можно ли сделать это? Я делаю это на flask python.

Встречи. html

{% extends 'base.html' %}

    {% block body %}
    <div class="container">
        <form method="POST" action="/appointments">
            <h2>Appointments</h2>
            <p>
                {{ form.start.label }}<br>
                {{ form.start }}
            </p>

            <p>
                {{ form.end.label }}<br>
                {{ form.end }}
            </p>

            <p>
                {{ form.description.label }}<br>
                {{ form.description }}
            </p>

            <p>
                {{ form.guestName.label }}<br>
                {{ form.guestName }}
            </p>
            <input type="submit">
            <!-- <button class = "btn btn btn-primary btn block" type="submit">Set up</button> -->
        </form>

    </div> <!-- /container -->
    {% endblock %}

Маршрут встречи:

@app.route('/appointments', methods=['GET', 'POST'])
def appointments():

    form = AddAppointment()
    if form.is_submitted():

        startingTime = datetime.datetime.strptime(
            form.start.data, '%H:%M').time()
        endingTime = datetime.datetime.strptime(form.end.data, '%H:%M').time()
        print(startingTime, endingTime)
        appt = Appointments(starttime=form.start.data, endtime=form.end.data,
                            description=form.description.data, guestName=form.guestName.data)
        print(appt)
        db.session.add(appt)
        db.session.commit()
        return redirect('/dashboard')

    return render_template('appoitments.html', form=form)

1 Ответ

1 голос
/ 03 мая 2020

Быстрое решение заключается в добавлении скрытого поля ввода в форму, например, <input type="hidden" name="<field_name>" value="1" />. См. этот ответ .

Если это не сработает, вы можете использовать javascript с запросом xml, обычно с обещанием ax ios или fetch , чтобы отправить данные формы. Хотя это может быть излишним из-за того, что вы пытаетесь сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...