Получение данных из формы без тега input

Можно ли получить данные из тега h3, который находится в форме, в котором лежит какой-то текст, который вписан туда языком jinja? Нужно получать {{ product.product_price }} из тега h3 и отправлять его в функцию hoodies_proof(product_id) в переменную product_price.

HTML

<form method="post">
    <div class="assorti"><h2>{{ product.product }}</h2></div>
    <div class="cardcontainer">
        <article class="card">
            <img src="{{ url_for('static', filename='img/t-shirts.jpg') }}" alt="Футболка" height="270">
        </article>
    </div>
    <div class="oryr">
        <h3 name="product_price">{{ product.product_price }} руб</h3>
            
        <div class="choose_size">
            <input name="XS" type="button" value="XS" class="cs_card">
            <input name="S" type="button" value="S" class="cs_card">
            <input name="M" type="button" value="M" class="cs_card">
            <input name="L" type="button" value="L" class="cs_card">
            <input name="XL" type="button" value="XL" class="cs_card">
        </div>

        <ul>
            <p>Собственное произодство</p>
            <p>Хлопок - 100%</p>
            <p>Качественный принт</p>
        </ul>
    </div>

    <div class="box_4_btn">
        <button data-v-c3114ba2="" class="app-button basket-price__submit width-100 paypose" type="submit">
        Добавить в корзину</button>
    </div>
</form>

PYTHON

@app.route('/hoodies/<int:product_id>/proof', methods=["GET", "POST"])
def hoodies_proof(product_id):
    product = Cart.query.get_or_404(product_id)
    # product_price = request.form.get('product_price')

    return render_template('proof.html', product=product)

Ответы (1 шт):

Автор решения: Faraday

Да, к примеру, вы можете использовать jQuery для этой цели. Для примера, предположим, что ваш h3 имеет id, что бы нам было легче к нему обращаться:

<h3 name="product_price" id="product_price">{{ product.product_price }} руб</h3>
const price = $('#product_price').text()

Или обычный js:

<h3 name="product_price" id="product_price">{{ product.product_price }} руб</h3>
const price = document.getElementById('product_price').innerHTML

Так же, используя js, вы можете использовать для выборки метод getElementsByName(), который вернёт вам массив элементов с таким именем:

<h3 name="product_price">{{ product.product_price }} руб</h3>
const items = document.getElementsByName('product_price')
cost price = items[0]
→ Ссылка