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