私は問題があります。私はこのjs関数を持っています:
<script>
function checkall(perm){
var permall = parseInt(perm);
if (permall==0) {
{% for user in users %}
document.getElementById("perms_{{user.id}}_0").checked=true
document.forms['form_user_{{ user.id }}'].submit();
{% end %}}
else if (permall==1) {
{% for user in users %}
document.getElementById("perms_{{user.id}}_1").checked=true
document.forms['form_user_{{ user.id }}'].submit();
{% end %}}
else if (permall==4) {
{% for user in users %}
document.getElementById("perms_{{user.id}}_4").checked=true
document.forms['form_user_{{ user.id }}'].submit();
{% end %}}
}
</script>
ボタンをクリックすると、この関数が呼び出され、ユーザーのリスト内のすべてのユーザーに対して、相対的なアクセス許可のユーザー ラジオ ボタンをオンに設定し、ユーザー フォームを送信して DB にアクセス許可を設定します (これはハンドラーを呼び出します)。 Python で)。
これで、ラジオボタンをチェックするように設定するコードが正常に機能します。しかし、リスト内の最初のユーザーのフォームのみが送信されます...関数は、最初のユーザーにのみ権限を設定します。また、Python ハンドラーは 1 回だけ呼び出されます (デバッグ プリントを作成しました)。
なんで?