gpt4 book ai didi

python - 如何在没有 JQuery 的情况下使 HTML 表格行可点击?

转载 作者:行者123 更新时间:2023-11-30 22:10:40 26 4
gpt4 key购买 nike

使用 Flask,我想从表中选择一个用户,然后使用所选用户的 ID 重定向页面。我的代码看起来像这样:

HTML:

<form action="" method="POST">
<table>
<tr>
<th>Id</th>
<th>First Name</th>
<th>Last Name</th>
</tr>
{% for user in users %}
<tr type="submit" name="action" value="{{user.user_id}}">
<td>{{user.user_id}}</td>
<td>{{user.first_name}}</td>
<td>{{user.last_name}}</td>
</tr>
{% endfor %}
</table>
</form>

Python:

def userSelect():
if request.method == 'POST':
return redirect(url_for('user', user=request.form['action']))
return render_template('userSelect.html', users=user.query.all())

我也尝试过使用 JQuery 来发帖,但我不确定如何在我重定向到的页面中使用 id,并且在从 JQuery 发帖后无法从 Flask 重定向:

$("table tr").on("click",function()
{
var selected = $("td:first", this).text();
$.post("/user", {user_id: selected}, function(){
window.location.href = "/user";
});
});

编辑:

假设我想在重定向到的页面上显示该 id(类似这样):

@app.route("/user")
def user(user):
return user

最佳答案

使用 Jquery 代码,它将向服务器发送 ajax

$.post("/user", {user_id: selected}, function(){
window.location.href = "/user";
});

所以,如果你编辑如下代码,Flask 无法重定向:

$.post("/user", {user_id: selected}, function(data){
console.log(data);
});

您将看到 Flask 返回了重定向页面的 HTML。

最后,我认为这对你有帮助: flask :

@app.route('/user/<user_id>')
def userHasSelected(user_id):
....
// I don't know why do you need this return redirect
return redirect(url_for('user', user=request.form['action']))

JS:

$("table tr").on("click",function()
{
var selected = $("td:first", this).text();

// {{url_for('user', user_id=selected)}} it will be rending from server
window.location.href = {{url_for('user', user_id=selected)}}
// or
window.location.href = `/user?user_id=${selected}`;
});

关于python - 如何在没有 JQuery 的情况下使 HTML 表格行可点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51649710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com