我是 HTML 和 Python 的新手,我正在嘗試開發一些代碼供個人使用。
目標是用顏色代碼顯示不同的聯賽:紅色或綠色,如果我點擊一個聯賽,它會打開一個不同的選項卡,其中包含該聯賽的更多詳細資訊,也就是說,有必要發送聯盟的 ID 到服務器,以便能夠將其用于下一個選項卡。我正在嘗試使用表格,但它不起作用。if-else 條件只是根據聯賽條件選擇顏色是紅色還是綠色。
我遇到的問題是,像我一樣用for回圈創建表單,發送的聯賽ID總是相同的(洛普的第一個聯賽),它不是動態的,那么我想知道如何對其進行編程以查看所選聯賽。無論您點擊哪個聯賽,您始終訪問相同的聯賽資訊。我猜代碼有問題,因為它不是動態的,它不會根據我的選擇顯示資訊。我的想法是使用回圈創建多個表單,每個聯賽一個,但它不起作用。
非常感謝您的幫助,非常感謝!
這是 HTML 代碼:
- competicionesAPIDict是一個字典,其中的關鍵是國家和其中存在的不同聯賽的價值觀。
- competicionesAPI是從 dict 中獲得的值,它被迭代以獲取每個聯賽的資訊。
<div style="width: 80%; height: 70%; background-color: azure; width: max-content">
{% for paisAPI, competicionesAPI in competicionesAPIDict.items() %}
<div class="div_pais">
<h4>{{paisAPI}} </h4>
<img src={{dict_banderas_pais[paisAPI]}} alt="No funciona" width="30px" height="30px"/>
{% for competicionAPI in competicionesAPI %}
{% if dict_hay_competicion[competicionAPI['id']] %}
<form name="siCompeticion" {{competicionAPI['id']}} method="POST" action="/RAI/API/competicion">
<input type="hidden" name="id_competicion" value={{competicionAPI['id']}} />
<a href=/RAI/API/competicion style="font-size: 14px;margin-left: 17px;color: green;"
onclick="document.forms[0].submit();return false;">{{competicionAPI['name']}}</a>
</form>
{% else %}
<form name="noCompeticion" {{competicionAPI['id']}} method="POST" action="/RAI/API/competicion">
<input type="hidden" name="id_competicion" value={{competicionAPI['id']}} />
<a href=/RAI/API/competicion style="font-size: 14px;margin-left: 17px;color: red;"
onclick="document.forms[0].submit();return false;">{{competicionAPI['name']}}</a>
</form>
{% endif %}
{% endfor %}
</div>
{% endfor %}
uj5u.com熱心網友回復:
好的,我在關于隱藏輸入欄位值是一個問題的評論中是錯誤的。我的意思是,這仍然是一個問題,但它應該按原樣作業,除了你制作的 JS 代碼錯誤。
所以首先,給我的錯誤印象是,您通常會為每個請求制作一個表單,然后按照我說的做,正確設定表單值以在提交時提供請求的資料。您制作了很多表單,每次迭代一個,這沒有錯,但是您所做的是在 onclick 事件中說始終激活站點上的第一個表單。IE
document.forms[0]
因此,無論您單擊什么,只會提交第一個表單,其中包含第一個隱藏輸入欄位的值。
由于您有 if-else 子句,我不會依賴 DOM 中的表單索引,而是使用某些東西為每個表單創建唯一的 ID,然后使用 document.getElementById() 獲取該確切的表單并提交它。但是您已經給了表單名稱,因此您可以將這些名稱與 document.getElementsByName() 一起使用,或者為表單提供相同值的 ID。名稱不需要唯一,ID 應該。
只是一個小樣本:
<form id="siCompeticion" {{competicionAPI['id']}} ...>
<input type="hidden" name="something" value={{competicionAPI['id']}}>
<a href="#" onclick="javascript:document.getElementById("siCompeticion" {{competicionAPI['id']}}).submit();return false;">CLICK ME</a>
</form>
在您的位置,我很可能會撰寫一些 JS 代碼來執行 AJAX 請求,最有可能使用 jquery。無論如何,我會避免制作很多表格。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/496333.html
