Hi!
 
I think it's a big problem for controling focus in cform,because when on-value-changed submit,the focus loss,this will cause unconvient to user.
so I try several method.
1. handle the xsl in on-value-changed,but the new page will became default value of the xsl file was.
2. use xsl:param,it works one time,the second time the value of xsl:param became a fixed value,because in on-value-changed,the sitemap not performed.
3. use session context , the same to xsl:param
4. try to judge the name of forms_submit_id , the first page sended, but I can't find it in second page, maybe there're a method to pass it from server to cliend.
5. add a hidden widget,it works.
A. in form definition file, add a field,put to the first column for the form.
B. in flowscript, set the init value for the widget to 2 for init display.
C. in template,assign the widget type to hidden.
D. add the following code in template or xsl
 
      <script type="text/_javascript_">
         var focusHandler = new Object();
         focusHandler.forms_onload = function() {
              var idx = document.forms['aaaaa'].elements[1].value;
              document.forms['aaaaa'].elements[idx].focus();
             }
        forms_onloadHandlers.push(focusHandler);
    </script>
E. in on-value-change change the widget's value to a proper one.
 
It seemed too complex,I prefer the method 4, but  I don't know how to get the forms_submit_id in the second page cliend side xsl, maybe others can teach me.
 
Best Regards
 
johnson

Reply via email to