Получение данных из формы без тега 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]