Python 如何创建隐藏的文本输入框?

Python 如何创建隐藏的文本输入框?,python,html,flask,Python,Html,Flask,我正在编写一个wtforms自定义表单,其中包括 多布尔检查按钮/单选按钮 和一个隐藏的文本输入 如果用户单击“其他”按钮,文本输入将启用,用户可以手动写入内容 如果用户取消单击“其他”按钮,则文本输入将被禁用 以下是绘制此内容的小部件函数(用于多个复选框): def选择多个其他复选框(字段,ul类='',**kwargs): “”“检查wtforms.widgets.core以查看发生了什么”“” setdefault('type','checkbox') field_id=kwargs.

我正在编写一个wtforms自定义表单,其中包括

  • 多布尔检查按钮/单选按钮

  • 和一个隐藏的文本输入

  • 如果用户单击“其他”按钮,文本输入将启用,用户可以手动写入内容

  • 如果用户取消单击“其他”按钮,则文本输入将被禁用

以下是绘制此内容的小部件函数(用于多个复选框):

def选择多个其他复选框(字段,ul类='',**kwargs):
“”“检查wtforms.widgets.core以查看发生了什么”“”
setdefault('type','checkbox')
field_id=kwargs.pop('id',field.id)
html=[u''%html\u参数(id=field\u id,class\uu=ul\u class)]
对于值,标签,签入字段。iter_choices():
选项\u id=u'%s-%s'(字段\u id,值)
options=dict(kwargs,name=field.name,value=value,id=choice\u id)
如果选中:
选项['checked']='checked'
追加(u'
  • '%html\u参数(**选项)) html.append(u'%s
  • '%(html_参数(**选项),cgi.escape(文本类型(标签))) 其他: 选项\u id=u'%s-%s'(字段\u id,u'other') options=dict(kwargs,name=field.name,value='',id=choice\u id) 选项['type']='text' html.append(u'%(html_参数(**选项))) html.append(u'') cPickle.dump(html,open(“htmltest.p”,“wb”)) 返回u“”。加入(html)

    添加textinput的部分是
    html.append(u'%(html_参数(**options))
    。(请注意,
    options['type']='text'
    表示
    type=“text”
    标记的属性)问题是,如何进行隐藏的文本输入(而不是
    type=“hidden”
    ),以便我以后可以通过jquery显示它?

    添加隐藏它的样式:

    
    
    然后使用jQuery显示它:

    $('myhiddentextfield').show();
    
    样式属性是否有可能与为页面加载的css发生冲突(尽管我目前没有)?@thkang:当然,如果您有一个
    输入{display:block!important;}
    ,那么元素级css将被忽略。但这将是一个愚蠢的CSS规则,您通常不会看到它。:-)@thkang:请注意,仅当存在
    显示:块时!重要信息
    外部工作表中适用于输入的规则不起作用;您可以随时添加
    !在这种情况下,本地
    样式
    属性的重要信息<代码>!重要信息
    在任何情况下通常都是设计不正确的标志。使用
    disabled
    属性有什么反对的吗?
    def select_multi_other_checkbox(field, ul_class='', **kwargs):
        """check wtforms.widgets.core to see what is going on"""
        kwargs.setdefault('type', 'checkbox')
        field_id = kwargs.pop('id', field.id)
        html = [u'<ul %s>' % html_params(id=field_id, class_=ul_class)]
        for value, label, checked in field.iter_choices():
            choice_id = u'%s-%s' % (field_id, value)
            options = dict(kwargs, name=field.name, value=value, id=choice_id)
            if checked:
                options['checked'] = 'checked'
            html.append(u'<li><input %s /> ' % html_params(**options))
            html.append(u'<label %s>%s</label></li>' % (html_params(**options), cgi.escape(text_type(label))))
    
        else:
            choice_id = u'%s-%s' %(field_id, u'other')
            options = dict(kwargs, name=field.name, value='', id = choice_id)
            options['type'] = 'text'
            html.append(u'<input %s > ' % (html_params(**options)))
    
        html.append(u'</ul>')
        cPickle.dump(html, open("htmltest.p", "wb"))
        return u''.join(html)