﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>知者无忧 &#187; FormBuilder</title>
	<atom:link href="http://www.notii.com/tag/formbuilder/feed" rel="self" type="application/rss+xml" />
	<link>http://www.notii.com</link>
	<description>NOThing Is Impossible! —— 原创文章，谢绝转载！</description>
	<lastBuildDate>Sat, 22 Oct 2011 10:23:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>FormBuilder基础教程-第一步：简介</title>
		<link>http://www.notii.com/2010/01/formbuilder_tutorial_1_intro.html</link>
		<comments>http://www.notii.com/2010/01/formbuilder_tutorial_1_intro.html#comments</comments>
		<pubDate>Tue, 19 Jan 2010 16:06:13 +0000</pubDate>
		<dc:creator>ZZQ</dc:creator>
				<category><![CDATA[FormBuilder]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://www.notii.com/?p=645569</guid>
		<description><![CDATA[注：本文翻译自FormBuilder的官方网站的教程。为了方便中文的阅读习惯和理解，我修改了一些英文的表述方式，并增加了一些个人注解。所以本文并不是忠实的翻译原文，用编译可能更合适。版权属于FormBuilder的官方网站。 欢迎来到FormBuilder教程！本教程将会手把手教你使用FormBuilder——从基本的表单到高级的模板和多语言的消息系统。 基础 FormBuilder设计用来处理CGI表单的方方面面——表单的产生、提交和验证。FormBuilder程序经常是反馈给自 身，也就是说你调用一个脚本，基于CGI参数来处理你的整个程序。 FormBuilder使用面向对象的调用风格，但这并不会把你吓跑。其使用非常简单，只需要你了解几个函数而已。在这个文档中， 我们的FormBuilder对象总是用$form来表示，当然在你的脚本中也可以这么使用。 基本步骤： 利用CGI::FormBuilder-&#62;new()来创建一个$form对象。 利用$form-&#62;field()定义表单域。 使用$form-&#62;submitted来检查表单是否已提交，如果是，使用$form-&#62;validate来验证。 利用$form-&#62;field()来获得每个值，然后做你任何想要的事（比如更新数据库等）。 如 果表单没有提交（或者验证失败），使用$form-&#62;render函数来打印表单。 就这么多。FormBuilder将会接管HTML和JavaScript，表格的布局、验证、持续性、错误信息等等。好了，咱们看一个简单的 FormBuilder程序。 下面是一个简单的FormBuilder程序： #!/usr/bin/perl use CGI::FormBuilder; @fields = qw(first_name last_name email phone); $form = CGI::FormBuilder-&#62;new( fields =&#62; \@fields, ); if ($form-&#62;submitted &#38;&#38; $form-&#62;validate) { # you would write code here to act on the form data $fname = $form-&#62;field('first_name'); $lname = [...]]]></description>
			<content:encoded><![CDATA[<blockquote>
<p>注：本文翻译自FormBuilder的官方网站的教程。为了方便中文的阅读习惯和理解，我修改了一些英文的表述方式，并增加了一些个人注解。所以本文并不是忠实的翻译原文，用编译可能更合适。版权属于FormBuilder的官方网站。</p>
</blockquote>
<p>欢迎来到FormBuilder教程！本教程将会手把手教你使用FormBuilder——从基本的表单到高级的模板和多语言的消息系统。</p>
<p><strong>基础</strong></p>
<p>FormBuilder设计用来处理CGI表单的方方面面——表单的产生、提交和验证。FormBuilder程序经常是反馈给自 身，也就是说你调用一个脚本，基于CGI参数来处理你的整个程序。</p>
<p>FormBuilder使用面向对象的调用风格，但这并不会把你吓跑。其使用非常简单，只需要你了解几个函数而已。在这个文档中， 我们的FormBuilder对象总是用$form来表示，当然在你的脚本中也可以这么使用。</p>
<p>基本步骤：</p>
<ol>
<li><span style="font-family: Courier New;">利用</span><span style="font-family: Courier New;">CGI::FormBuilder-&gt;new()来创建一个$form对象。</span></li>
<li><span style="font-family: Courier New;">利用$form-&gt;field()定义表单域。</span></li>
<li>使用<span style="font-family: Courier New;">$form-&gt;submitted</span>来检查表单是否已提交，如果是，使用<span style="font-family: Courier New;">$form-&gt;validate</span>来验证。</li>
<li>利用<span style="font-family: Courier New;">$form-&gt;field()</span>来获得每个值，然后做你任何想要的事（比如更新数据库等）。</li>
<li>如 果表单没有提交（或者验证失败），使用<span style="font-family: Courier New;">$form-&gt;render函数来打印表单。</span></li>
</ol>
<p>就这么多。FormBuilder将会接管HTML和JavaScript，表格的布局、验证、持续性、错误信息等等。好了，咱们看一个简单的 FormBuilder程序。</p>
<p>下面是一个简单的FormBuilder程序：<br>
#!/usr/bin/perl</p>
<p>use CGI::FormBuilder;</p>
<p>@fields = qw(first_name last_name email phone);</p>
<p>$form = CGI::FormBuilder-&gt;new(<br>
fields =&gt; \@fields,<br>
);</p>
<p>if ($form-&gt;submitted &amp;&amp; $form-&gt;validate) {<br>
# you would write code here to act on the form data<br>
$fname = $form-&gt;field('first_name');<br>
$lname = $form-&gt;field('last_name');</p>
<p>print $form-&gt;confirm(header =&gt; 1);<br>
} else {<br>
print $form-&gt;render(header =&gt; 1);<br>
}</p>
<p>在上面的程序中，我们首先定义表单的域，然后创建一个$form对象将其纳入（必须使用数组的引\@fields来 确保数据一起传入）。FormBuilder使用这些数据，为每个域创建一个标签，然后使用<span style="font-family: Courier New;">$form-&gt;render 方法将所有的元素放在一个HTML表格中。事实上，</span>FormBuilder甚至可以根据脚本的文件名为表单创建标题。（比如<span style="font-family: Courier New;">personal_info.pl</span> 变成表单的标题 "Personal Info"）。当用户点击“提交”按钮，<span style="font-family: Courier New;">$form-&gt;submitted将返回true值， 在上面的例子中也会引起</span><span style="font-family: Courier New;">$form-&gt;validate的执行</span>(由 于if语句中的&amp;&amp;操作符)。如果两者都返回true值，这意味着提交的表单数据有效，然后你就可以处理这些数据了。</p>
<p><span style="font-family: Courier New;">使用field()获取表单的数据就像使用CGI.pm中的</span><span style="font-family: Courier New;">param()函数一样简单。</span><span style="font-family: Courier New;">field() 也有很多其他用处，这个我们以后会提到。好了，看看上面的<a id="aa:x" title="点这里查看程序的运行效果" href="http://www.formbuilder.org/ex/simple_form.pl" target="_blank" name="aa:x">程序的实际效果</a>吧。 查看浏览器的源代码，可以看到我们的程序产生的HTML代码，这会有助于你的理解。</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.notii.com/2010/01/formbuilder_tutorial_1_intro.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

