Re: [Cppcms-users] widgets::checkbox.value() always returns 0
Brought to you by:
artyom-beilis
From: CN <cn...@gr...> - 2011-02-12 13:49:39
|
Many thanks for help! > Show your code... > > 1. How do you configure your form (full code) > 2. How do you load data to your form > 3. How do you render your form ===Template follows:=== <% c++ #include "pages.h" %> <% xhtml %> <% skin namespace_skin %> <% view view_register uses content_register %> <% template render() %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <link rel="stylesheet" type="text/css" href="http://example.com/css/register.css"/> <title>Register As A Member</title> </head> <body> <form method="post" action="/cgi/s/register"> <table> <tr> <td><label for="em">EMail</label></td> <td><input type="text" id="em" name="em" value="" size="40"/></td> </tr> <tr> <td><label for="pw">Password:</label></td> <td><input type="password" id="pw" name="pw" value="" size="40"/></td> </tr> <tr> <td><label for="cfpw">Confirm Password</label></td> <td><input type="password" id="cfpw" name="cfpw" value="" size="40"/></td> </tr> </table> <label><input type="checkbox" checked="checked" name="agree"/>Agree our terms?</label> <table> <tr> <td><input type="submit" value="Register"/></td> <td></td> </tr> </table> </form> </body> </html> <% end template %> <% end view %> <% end skin %> ===pages.h follows=== struct form_register : public cppcms::form { form_register(cppcms::session_interface &); cppcms::widgets::email account; cppcms::widgets::password password1; cppcms::widgets::password password2; cppcms::widgets::checkbox agree; bool validate(); cppcms::session_interface &cppcms_sess; }; struct content_register : public content_master { content_register(cppcms::session_interface &se) : form(se){}; form_register form; }; ===pages.cpp follows=== bool form_register::validate() { return form::validate(); } form_register::form_register(cppcms::session_interface &se) : cppcms_sess(se) { account.name("em"); account.non_empty(); password1.name("pw"); password1.non_empty(); password2.name("cfpw"); password2.non_empty(); password2.check_equal(password1); agree.name("agree"); *this+account+password1+password2+agree; } ===application follows=== content_register page(session()); if(request().request_method() == "GET"){ render("view_register",page); } else{ page.form.load(context()); if(page.form.validate()){ BOOSTER_LOG(debug,"account") << page.form.account.value(); //good BOOSTER_LOG(debug,"agree") << page.form.agree.value(); //"0" } } ============= Best Regards CN |