Perl CGI,多个表单和多个提交按钮,在同一页面上执行操作
Perl CGI, Multiple forms and multiple submit button with action on the same page
如果我有几个按钮,并且"action="也在同一页上,我如何指定点击Perl CGI HTML输出上的多个按钮中的一个执行哪个操作?
这是html输出,按钮(处理活动和重复记录)工作正常,但"导入信息"(我正在尝试实现)调用"处理活动"
这是java脚本代码:
<script type="text/javascript" src="$HostedSiteURL/$ScriptDirectory/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
'$(document).ready(function() {
'$('#importFromCAD').click(function () {
'$('#importNav').val('');
return true;
'$('#process-activity').click(function () {
'$('#DupNav').val('');
return true;
});
和Perl CGI HTML代码:
sub NewRightSide
{
print " <div style='"z-index:86;'" class='"group-shell'">";
print " <table>'n";
print " <tr><td><input class='"dial-red-button'" id='"importFromCAD'" type='"submit'" value='"Import Info'"></td></tr>'n";
print " <tr><td><input class='"dial-red-button'" id='"process-activity'" type='"submit'" value='"Process Activity'"></td></tr>'n";
print " <tr><td><input class='"dial-red-button'" id='"duplicate-record'" type='"submit'" value='"Duplicate Record'"></td></tr>'n";
按钮布局图片
我相信这就是所谓的
print "<form name='"form'" accept-charset='"utf-8'" method='"post'" action='"A_CT_DIAL8.pl'">'n";
if ($Nav eq "" || $Nav eq "None") {$Nav="NewEntry";}
print "<input type='"hidden'" name='"s'" value='"$escape_session'" />'n";
print "<input type='"hidden'" name='"nav'" value='"DIAL'" id='"nav'">'n";
print "<input type='"hidden'" name='"Nav'" value='"$Nav'" id='"Nav'">'n";
print "<input type='"hidden'" name='"SubNav'" value='"$SubNav'">'n";
print "<input type='"hidden'" name='"DupNav'" value='"'" id='"DupNav'">'n";
print "<input type='"hidden'" name='"nav_tab'" value='"'" id='"nav_tab'">'n";
print "<input type='"hidden'" name='"Report'" value='"'" id='"Report'">'n";
print "<input type='"hidden'" name='"TransLimit'" value='"$TransLimit'">'n";
这是一个名为"DupNav"的Perl子例程,我不确定它是否在表单的功能中发挥了作用。这是第二个.click(function ())
类的子程序吗?
if ($DupNav eq "")
{
$Nav = ""; $KeyField = ""; # $CAD = "";
$In = ""; $Out = ""; $Via = "";
$Status = ""; $Device = ""; $ActivitySubject = "";
$Memo = ""; $currenttime = ""; $NormalMemo = "";
$CheckNewMemo = ""; $PostMile = "";
}
else
{
$CheckRadio="No";
if ($DupWarn ne "Off")
{
$JavaWarn=$JavaWarn."Duplicated Last Entry. ";
$Warn=$Warn." [ Duplicated Last Entry ]";
$SubNav="Go";
}
else
{
$JavaWarn=$JavaWarn."Use the Duplicate Record button to pre fill the next entry with the same information as the last entry. ";
$Warn=$OldWarn." [ Use the Duplicate Record button to pre fill the next entry with the same information as the last entry ]";
}
}
if ($Device == 0) {$Device="";}
$currentdate = "";
$SplitMemo=$CheckNewMemo;
@GetEntries=split(":DOSEP:", $SplitMemo);
$EntryCount=@GetEntries;
$Memo=$GetEntries[0];
$b=1;
while ($b < $EntryCount)
{
$SplitExtras=$GetEntries[$b];
@GetExtras=split(":", $SplitExtras);
$ExtraListName=$GetExtras[0];
$ExtraListInfo=$GetExtras[1];
if ($ExtraListName eq "PostMile") {$PostMile=$ExtraListInfo; $DisablePostMileSection="No";}else{$Extra_Information{$ExtraListName}="$ExtraLis tInfo";}
$b++;
}
}
我知道这是很长的时间,我真的很感激能得到任何反馈。我可以根据需要发布更多信息。再次感谢。
给所有submit
按钮唯一的name
属性,提交数据将只有一个submit
参数,即单击的参数。通过检查他们的name
来了解它是什么,并进行相应的处理。下面给出了一些示例代码。
客户端:
<form method="POST" action="/act">
<input name="formid" value="1" type="hidden">
<input class="delete" value="D" name="delete" type="submit">
<input class="edit" value="E" name="edit" type="submit">
</form>
服务器端:
if ( defined param('edit')) {
# perhaps identify form by some checking for some hidden element
# process the data for edit
}
elsif ( defined param('delete') ) {
# perhaps identify form and process the data for delete
}
相关文章:
- 如何获取不属于我项目的上一页的URL
- 如何在Facebook上的iframe应用程序中使后退按钮返回到上一页
- 使用Booklet Jquery插件,我如何验证最后一页是否显示
- 如何在一页网站中使用PHP重定向到一个页面
- Javascript并不是显示在每一页上
- 如何在一页上显示多个Highcharts图表
- jQuery分页下一页和上一页按钮在点击零或超过最后一页后失败
- 如何为AngularJS制作智能表中第一页和最后一页的跳过按钮
- Bootstrap一页导航Fluid网站最小化问题
- 返回上一页时,Javascript仍处于活动状态
- 将jsp重定向到servlet,然后重定向到下一页
- 如何在重定向到asp.net中单击按钮的下一页之前应用javascript警报
- 返回上一页,不加载执行正文
- 根据上一页的用户输入,在页面加载时执行JS函数
- 你能从上一页的链接执行某些加载功能吗
- Javascript:加载下一页后执行操作
- 执行PHP "action=add"命令,然后转移到另一页
- jQuery移动版-移动到下一页/上一页-点击后执行两次操作
- 页面上的链接调用servlet,执行后返回到上一页
- 转到上一页并在那里执行 JQuery