For the first question, there's a focus parameter in @Form
http://tapestry.apache.org/tapestry4.1/components/form/form.html

Just set it to false

For the js problems, perhaps that example is obsolete? Something
tells me it only works in IE... Anyway, there's a
tapestry.form.focusField() method in tapestry's js - you
could pass the html id of the control you want to focus to it
and it should just work.

Last, i'm not sure how you've managed to get 2 <html> tags in the same
page! Perhaps if you can show a minimal example of your page + border
component we could help...

On Mon, Jan 4, 2010 at 18:49, Ivano Luberti <lube...@archicoop.it> wrote:
> Hi all.
>
> I'm trying to use javascript with Tapestry 4.1.6 and I'm stumbling at
> the very first steps.
>
> First of all I see that whenever a form component is specified in the
> template Tapestry put a script at the end of the generated html that set
> the focus on the first control of the form. If I try to put my specific
> function to give focus to a control of my choice, the automatically
> generated script is put as the last statement hence overruling my script.
>
> Secondly (I need a log introduction) I have used the example given in
>
> http://tapestry.apache.org/tapestry4.1/components/general/script.html
>
> to give focus to a control of my choice, but it fails: the problem is
> that when executed
>
> function setFocus() {
>  var inputField = document.barCodeForm_0.barCode;
>
>  if (inputField.type != "hidden") {
>  if (inputField.disabled != true) {
>  inputField.focus();
>  }
>  } else {
>  window.alert('InputFocus.script cannot set focus on a hidden field');
>  }
> }
>
> I debugged it using firebug and it seems then document.barCodeForm_0 is
> undefined.
> Actually looking at the generated html , barCodeForm_0 is there.
> But the html as a whole is a little weird. I attach it to the end of
> this message: the point is that html tag is closed and reopened several
> times.  I'm not enough javascript expert to understand if this is could
> cause my problem but looks anyeay bad to me.
> Here is my question: I had read that T416 templates have to be well
> formed HTML files but looking at the Tapestry Bench application I see
> that html templates don't include <html>, <head> and <body> tags.
> May I include them ?
>
> -----------------generated html--------------------------
>
> <html>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
> "http://www.w3.org/TR/html4/loose.dtd";>
> <!-- Application: app -->
> <!-- Page: HomeLoggedUser -->
> <!-- Generated: Mon Jan 04 15:54:56 CET 2010 -->
> <html>
> <head>
> <meta name="generator" content="Tapestry Application Framework, version 
> 4.1.6-SNAPSHOT" />
> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
> <title>Home Guide</title>
> <script type="text/javascript">djConfig = 
> {"baseRelativePath":"/METGestioneIngressi/app?service=asset&path=%2Fdojo-0.4.3-custom-4.1.6%2F","preventBackButtonFix":false,"parseWidgets":false,"locale":"it-it"}
>  </script>
>
> <script type="text/javascript" 
> src="/METGestioneIngressi/app?service=asset&path=%2Fdojo-0.4.3-custom-4.1.6%2Fdojo.js
>  
> <view-source:http://localhost:8081/METGestioneIngressi/app?service=asset&path=%2Fdojo-0.4.3-custom-4.1.6%2Fdojo.js>"></script><script
>  type="text/javascript" 
> src="/METGestioneIngressi/app?service=asset&path=%2Fdojo-0.4.3-custom-4.1.6%2Fdojo2.js
>  
> <view-source:http://localhost:8081/METGestioneIngressi/app?service=asset&path=%2Fdojo-0.4.3-custom-4.1.6%2Fdojo2.js>"></script>
>
> <script type="text/javascript">
> dojo.registerModulePath("tapestry", 
> "/METGestioneIngressi/app?service=asset&path=%2Ftapestry-4.1.6%2F");
> </script>
> <script type="text/javascript" 
> src="/METGestioneIngressi/app?service=asset&path=%2Ftapestry-4.1.6%2Fcore.js 
> <view-source:http://localhost:8081/METGestioneIngressi/app?service=asset&path=%2Ftapestry-4.1.6%2Fcore.js>"></script>
> <script type="text/javascript">
> dojo.require("tapestry.namespace");
> tapestry.requestEncoding='UTF-8';
> </script>
> </head>
> <title>MET Online</title>
> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
> <link href="css/stile_palmare.css 
> <view-source:http://localhost:8081/METGestioneIngressi/css/stile_palmare.css>"
>  rel="stylesheet" type="text/css">
> </html>
> <!-- Render time: ~ 172 ms -->
>
>
> <body id="tapBody">
> <script type="text/javascript"><!--
> function setFocus() {
>    var inputField = document.barCodeForm_0.barCode;
>
>    if (inputField.type != "hidden") {
>        if (inputField.disabled != true) {
>            inputField.focus();
>        }
>    } else {
>         window.alert('InputFocus.script cannot set focus on a hidden field');
>    }
> }
> // --></script>
>
>        <div id="container">
>                <h1>Battistero</h1>
>
>  <html>
> <head>
> <title>MET Online</title>
> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
> <link href="css/stile_palmare.css 
> <view-source:http://localhost:8081/METGestioneIngressi/css/stile_palmare.css>"
>  rel="stylesheet" type="text/css">
> </head>
> <body>
>
>    <div id="box_operazione">
>        <h1>Lettura BarCode</h1>
>                <br />
>
>                <h2>passare il barcode sotto il lettore ottico</h2>
>    <form method="post" action="/METGestioneIngressi/app" id="barCodeForm_0">
> <div style="display:none;" id="barCodeForm_0hidden"><input type="hidden" 
> name="formids" value="barCode" />
> <input type="hidden" name="seedids" 
> value="BrO0ABXdtAGssc2VydmljZSQwLHBhZ2UkMCxjb21wb25lbnQkMCxjb250YWluZXIkMCxzZXNzaW9uJDAsc3AkMCx0YXBTaGVsbCQwLHRhcEJvZHkkMCxub21lTW9udW1lbnRvJDAsYmFyQ29kZUZvcm0kMQ=="
>  />
> <input type="hidden" name="component" value="barCodeForm.barCodeForm" />
> <input type="hidden" name="page" value="HomeLoggedUser" />
> <input type="hidden" name="service" value="direct" />
> <input type="hidden" name="session" value="T" />
> <input type="hidden" name="submitmode" value="" />
> <input type="hidden" name="submitname" value="" />
> </div>
>                <input type="text" name="barCode" value="" id="barCode" 
> class="text_box" />
>                <br /><br />
>
>        <input type="submit" name="Submit" value="Submit" class="bottone">
>
>
>        </form>
>   </div>
>
> </body>
> </html>
>        <div id="box_logout">
>
> <table width="100%" border="0" cellpadding="2" cellspacing="0">
>        <tbody>
>                <tr>
>          <td id="submenu" class="submenu-act">
>                &nbsp;<a id="linklogout" 
> href="/METGestioneIngressi/app?component=menu.linklogout&amp;page=HomeLoggedUser&amp;service=direct&amp;session=T
>  
> <view-source:http://localhost:8081/METGestioneIngressi/app?component=menu.linklogout&page=HomeLoggedUser&service=direct&session=T>">LogOut</a>&nbsp;
>          </td>
>
>                </tr>
>        </tbody>
> </table>
>
>        </div>
> </div>
> <script type="text/javascript"><!--
> tapestry.addOnLoad(function(e) {
> dojo.require("tapestry.form");tapestry.form.registerForm("barCodeForm_0");
> setFocus();
>
> tapestry.form.focusField('barCode');});
> // --></script></body>
> </html>
>
>
>
>
>
>
>
> --
> ==================================================
> dott. Ivano Mario Luberti
> Archimede Informatica societa' cooperativa a r. l.
> Sede Operativa
> Via Gereschi 36 - 56126- Pisa
> tel.: +39-050- 580959
> tel/fax: +39-050-9711344
> web: www.archicoop.it
> ==================================================
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>



-- 
Andreas Andreou - andy...@apache.org - http://blog.andyhot.gr
Tapestry / Tacos developer
Open Source / JEE Consulting

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to