Index: branches/release-33/lib/MT/Template/ContextHandlers.pm
===================================================================
--- branches/release-33/lib/MT/Template/ContextHandlers.pm (revision 1765)
+++ branches/release-33/lib/MT/Template/ContextHandlers.pm (revision 1772)
@@ -931,7 +931,8 @@
     my $actions_top = "";
     my $actions_bottom = "";
+    my $form_id = "$id-form";
     if ($show_actions) {
-        $actions_top = qq{<\$MTApp:ActionBar bar_position="top" hide_pager="$hide_pager"\$>};
-        $actions_bottom = qq{<\$MTApp:ActionBar bar_position="bottom" hide_pager="$hide_pager"\$>};
+        $actions_top = qq{<\$MTApp:ActionBar bar_position="top" hide_pager="$hide_pager" form_id="$form_id"\$>};
+        $actions_bottom = qq{<\$MTApp:ActionBar bar_position="bottom" hide_pager="$hide_pager" form_id="$form_id"\$>};
     } else {
         $listing_class .= " hide_actions";
@@ -959,5 +960,5 @@
         $listing_header
     </div>
-    <form id="$id-form" class="listing-form"
+    <form id="$form_id" class="listing-form"
         action="$action" method="post"
         onsubmit="return this['__mode'] ? true : false">
@@ -1006,4 +1007,5 @@
     my ($ctx, $args, $cond) = @_;
     my $pos = $args->{bar_position} || 'top';
+    my $form_id = $args->{form_id} ? qq{ form_id="$args->{form_id}"} : "";
     my $pager = $args->{hide_pager} ? ''
         : qq{\n        <mt:include name="include/pagination.tmpl" bar_position="$pos">};
@@ -1014,5 +1016,5 @@
         <span class="button-actions actions">$buttons</span>
         <span class="plugin-actions actions">
-    <mt:include name="include/itemset_action_widget.tmpl">
+    <mt:include name="include/itemset_action_widget.tmpl"$form_id>
         </span>
     </div>
@@ -1329,7 +1331,9 @@
         my $res = $builder->build($ctx, $tokens, $cond);
         return $ctx->error($builder->errstr) unless defined $res;
-        $out .= $glue if $cnt > 1;
-        $out .= $res;
-        $cnt++;
+        if ($res ne '') {
+            $out .= $glue if $cnt > 1;
+            $out .= $res;
+            $cnt++;
+        }
     }
     return $out;
@@ -1603,7 +1607,9 @@
         my $res = $builder->build($ctx, $tokens, $cond);
         return $ctx->error($builder->errstr) unless defined $res;
-        $out .= $glue if $i > 1;
-        $out .= $res;
-        $i++;
+        if ($res ne '') {
+            $out .= $glue if $i > 1;
+            $out .= $res;
+            $i++;
+        }
     }
     return $out;
@@ -4706,5 +4712,5 @@
         defined(my $out = $builder->build($ctx, $tokens, $cond))
             or return $ctx->error( $builder->errstr );
-        push @res, $out;
+        push @res, $out if $out ne '';
     }
     my $sep = $args->{glue} || '';
