2012-08-02 71 views
0
form=FORM('Your name:',INPUT(_name='_name', requires=IS_NOT_EMPTY()), 
      'Your email:',INPUT(_email='_email', requires=IS_NOT_EMPTY()), 
      'Your message:',INPUT(_message='_message', requires=IS_NOT_EMPTY()), 
      INPUT(_type='submit')) 
if form.accepts(request,session): 
    response.flash = 'Your information has been sent successfully' 
    message = [form.vars._name, form.vars._email, form.vars._message] 
    mail.send(to='[email protected]', reply_to=form.vars._email, 
     subject='Suggestion', 
     message='<html>%s</html>' % message) 

我无法创建一个简单的表单,它会将三个字段通过电子邮件发送到一个帐户 - “名称”,“电子邮件”和“消息”。提交表单时,只识别并发送“名称”,而其他两个变量始终返回NoneType对象。所以,电子邮件看起来像['人名','无','无']。我无法弄清楚最后两个变量与第一个变量的区别。任何帮助?谢谢。web2py表单返回NoneType对象

回答

0

应该是:

INPUT(_name='_email', ...), 
INPUT(_name='_message', ...), 

的 “_name” 的说法到INPUT()助手翻译为 “名” 的<input>标签的属性。因此,INPUT(_name='email')将导致<input name="_email">,这将导致request.vars._email包含在“_email”输入字段中输入的值,该值将被复制到form.vars._email

+0

我觉得这是愚蠢的。谢谢! – Chakron 2012-08-02 03:45:08