如果您想顯示或隱藏某個特定原因的字段,您必須執行兩項操作。 首先顯示你想要的字段並隱藏你不想要的字段。它可以使用jQuery和CSS來完成。
$("any id or class").click(function(){
$('#parent_div_of_field_id_that_you_want_to_show').css('display','block');
$('#parent_div_of_field_id_that_you_want_to_show').attr('data-parsley-required','false') //if you are using parsley for client side validation
$('#parent_div_of_field_id_that_you_want_to_hide').css('display','none');
$('#parent_div_of_field_id_that_you_want_to_hide').attr('data-parsley-required','true') //if you are using parsley for client side validation
現在你必須處理服務器端驗證。你必須停止驗證這些隱藏的字段。爲此,對wtforms使用StopValidation。
from wtforms.validators import StopValidation
def functionName(form, field):
if form.your_field_name.data==None:
field.errors[:] = []
raise StopValidation()
而這個功能是這樣
name=StringField("Name", [functionName, validators.DataRequired("Name is required")])
這看起來並不像HTML給我。但他們都有班'class_1'嗎?你可以瞄準那個。 – Taplar
這隻提供了一個類到輸入框,而不是標籤本身。非常感謝 – user3167654
因此,從邏輯上講,您可以接受任何通過的課程,並在課程標籤上添加class +'Label'並將其作爲目標。但正如我所說的,不是發佈創建代碼的代碼,而是向我們展示腳本正在運行的生成標記。 – Taplar