namespace the id of each form element with the id of the current form... resovles TAPESTRY-1131

git-svn-id: https://svn.apache.org/repos/asf/tapestry/tapestry4/branches/4.1.1-clientIds@471451 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/tapestry-framework/src/java/org/apache/tapestry/form/Form.java b/tapestry-framework/src/java/org/apache/tapestry/form/Form.java
index 08af578..25b90d3 100644
--- a/tapestry-framework/src/java/org/apache/tapestry/form/Form.java
+++ b/tapestry-framework/src/java/org/apache/tapestry/form/Form.java
@@ -193,6 +193,9 @@
         
         if (isRewinding())
         {
+            // even if we're rewinding, make sure we 'train' the idallocator.
+            renderIdAttribute(writer, cycle);
+            
             String submitType = _formSupport.rewind();
 
             IActionListener listener = findListener(submitType);
diff --git a/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java b/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java
index 5f93953..7f04e80 100644
--- a/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java
+++ b/tapestry-framework/src/java/org/apache/tapestry/form/FormSupportImpl.java
@@ -393,7 +393,7 @@
         
         String filteredId = TapestryUtils.convertTapestryIdToNMToken(baseId);
 
-        String result = _elementIdAllocator.allocateId(filteredId);
+        String result = _elementIdAllocator.allocateId(filteredId + "_" + _form.getClientId());
         
         if (_rewinding)
         {