我正在嘗試使用燒瓶制作 RPG 角色表。在這個專案中,我有兩個按鈕(level 和 level-),當按下時可以增加或減少角色的等級。
所以我有我的html檔案:
<div class="level">
<button type="button" name="level-">-</button>
<p>{{ level }}</p>
<button type="button" name="level "> </button>
</div>
和我的燒瓶檔案:
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/', methods=['POST', 'GET'])
def index():
level = 0
return render_template('index.html', level=level)
if __name__ == '__main__':
app.run(debug=True)
如何訪問按鈕以便我可以增加或減少 python 檔案中的級別變數?
uj5u.com熱心網友回復:
我建議使用 javascript 來執行此操作,因為它比向后端發送請求并將新級別傳遞給模板所需的資源更少。
<div class="level">
<button type="button" name="level-" onclick="changeLevel(-1)">-</button>
<p id="level_number">{{ level }}</p>
<button type="button" name="level " onclick="changeLevel(1)"> </button>
</div>
<script>
function changeLevel(change) {
var x = document.getElementById("level_number");
if (parseInt(x.innerHTML) change >=0){
x.innerHTML = parseInt(x.innerHTML) change;
}
}
</script>
如果您需要后端級別,那么您可以使用 AJAX 或在表單中使用隱藏輸入并使用 request.form["level_number"] 讀取后端中的值
<form class="level">
<button type="submit" name="level-" onclick="changeLevel(-1)">-</button>
<p id="level_number">2</p>
<input type="hidden" name="level_number" id="hidden_level_number" value="{{ level }}"/>
<button type="submit" name="level " onclick="changeLevel(1)"> </button>
</form>
<script>
function changeLevel(change) {
var x = document.getElementById("level_number");
var y = document.getElementById("hidden_level_number");
if (parseInt(x.innerHTML) change >=0){
x.innerHTML = parseInt(x.innerHTML) change;
y.value=x.innerHTML;
}
}
</script>
uj5u.com熱心網友回復:
如果您希望它具有服務器端操作,您可能需要創建它的 HTML 表單,以使瀏覽器向您的網站 API 發送 POST 請求。如果您希望它具有客戶端操作,則需要創建一個 Javascript 腳本,以便瀏覽器在用戶按下按鈕時執行代碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/455174.html
