- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想使用 Flask 的“SubmitField”
<button type="submit" title="Save this form"><span>Save</span></button>
代替:
<input type="submit" title="Save this form" />
我在模板中打印出来:
{{ field(class=css_class, title=field.description, **kwargs) }}
我猜想我必须以某种方式修改 SubmitInput(SubmitField 背后的小部件),但我不确定该怎么做,我是否必须以某种方式修改 __html__()?
编辑:
from flask.ext.wtf import Required, Length, EqualTo, Field, TextInput
from flask import Markup
class InlineButtonWidget(object):
html = """
<button type="submit" title="%s"><span>%s</span></button>
"""
def __init__(self, input_type='submit'):
self.input_type = input_type
def __call__(self, field, **kwargs):
kwargs.setdefault('id', field.id)
kwargs.setdefault('type', self.input_type)
if 'value' not in kwargs:
kwargs['value'] = field._value()
return HTMLString(self.html % (field.name, field.label ))
class InlineButton(Field):
widget = InlineButtonWidget()
def _value(self):
if self.data:
return u', '.join(self.data)
else:
return u''
class SignupForm(Form):
name = TextField('Name', [Length(min=1, max=200)])
submit = InlineButton('sign up')
我希望能够做到这一点:
submit = InlineButton({'name' : 'submit', 'title' : '今天报名领取奖品。', 'type' : 'submitfieldtype', 'textInsideSpan' : '保存当前工作' } )
最佳答案
很简单,您可以创建新的小部件,如 InlineButtonWidget(),但我认为最好从表单中删除提交并在模板中使用它
<button type="submit" title="Save this form"><span>Save</span></button>
当然你也可以使用它:
{% for name, label in buttons %}
<button type="submit" title="{{name}}"><span>{{name}}</span></button>
{% endfor %}
示例小部件:
class InlineButtonWidget(object):
html = """
<button type="submit" title="%s"><span>%s</span></button>
"""
def __init__(self, input_type='submit'):
self.input_type = input_type
def __call__(self, field, **kwargs):
kwargs.setdefault('id', field.id)
kwargs.setdefault('type', self.input_type)
if 'value' not in kwargs:
kwargs['value'] = field._value()
return HTMLString(self.html % (field.name, field.lable ))
关于python - Flask-WTF 使用 input=submit 而不是 button type=submit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14428564/
我遇到过这个 html: 上面的html和这个有什么区别: 最佳答案 来自MDN page on the tag : 对于 type 的属性标签,可能的值是: 提交:按钮将表单数据提交给服务器
Button button= (Button) findViewbyID(R.id.button); 和 Button button = new Button(this); 有什么区别? 最佳答案 有
我是一名优秀的程序员,十分优秀!