我尝试创建一个可以保存一个人的表单数据的表单,以便他以后可以完成表单。我将数据保存到外部文件没有问题,并且我知道如果仅在完成整页表单后才允许用户保存他的数据,那么我尝试做的事情会很容易。但是,我希望能够随时保存表单的数据,即使多个页面中的一个尚未完全完成。另外,我喜欢通过我的 Perl 脚本使用我自己的 html 脚本,而不是调用 CGI.pm 表单命令。
因此,用户在会话结束时保存他的不完整数据,并在以后使用密码登录以检索他的数据。所以我使用密码从外部文件中检索数据
#--------------------------------------------
open(INFO, "MYTEXTFILE.txt");
@data = <INFO>;
close(INFO);
#--------------------------------------------
foreach $key (@data)
{
($aaa1,$aaa2,$aaa3,$aaa4,$aaa5,$e)=split(/,/,$key);
}
然后我尝试将可用数据输入回 html 表单。当使用文本框收集数据时,这非常容易:
print"
<p>Your response is: input type='text' name='aaa1' value='$aaa1' <\p>";
但是当它是一个单选按钮时更棘手。我用:
print"
<table width='600' align='center' cellpadding='3'>
<tr bgcolor=''>
td bgcolor=''>1. Question #1
</td>
<td>1
<input name='aaa1' type='radio' value='1'"; if ($aaa1==1) {print " CHECKED ";} print"/>/td>
<td>2
<input name='aaa1' type='radio' value='2'"; if ($aaa1==2) {print " CHECKED ";} print" />/td>
<td>3
<input name='aaa1' type='radio' value='3'"; if ($aaa1==3) {print " CHECKED ";} print" />/td>
<td>4
<input name='aaa1' type='radio' value='4'"; if ($aaa1==4) {print " CHECKED ";} print" />/td>
<td>5
<input name='aaa1' type='radio' value='5'"; if ($aaa1==5) {print " CHECKED ";} print" />/td>
</tr>
</table>
";
有没有更方便或方便的方法来做到这一点?