You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Ivano Luberti <lu...@archicoop.it> on 2010/01/04 17:49:10 UTC

[T416] Javascript and html templates questions

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-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: [T416] Javascript and html templates questions

Posted by Ivano Luberti <lu...@archicoop.it>.
Sorry the ml server has cut the attachments (I should have known)
Andreas, if you don't mind I can send you them to your personal address.

Ivano Luberti ha scritto:
> Andreas, thanks.  About my HTML template here it is (not sure what you
> mean with border).
> The homelogged user include a barCode component, that has its own html.
>
>
> Andreas Andreou ha scritto:
>   
>> 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 <lu...@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-unsubscribe@tapestry.apache.org
>>> For additional commands, e-mail: users-help@tapestry.apache.org
>>>
>>>
>>>     
>>>       
>>
>>   
>>     
>
>   
> ------------------------------------------------------------------------
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org

-- 
==================================================
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-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: [T416] Javascript and html templates questions

Posted by Ivano Luberti <lu...@archicoop.it>.
Andreas, thanks.  About my HTML template here it is (not sure what you
mean with border).
The homelogged user include a barCode component, that has its own html.


Andreas Andreou ha scritto:
> 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 <lu...@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-unsubscribe@tapestry.apache.org
>> For additional commands, e-mail: users-help@tapestry.apache.org
>>
>>
>>     
>
>
>
>   

-- 
==================================================
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
==================================================



Re: [T416] Javascript and html templates questions

Posted by Andreas Andreou <an...@di.uoa.gr>.
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 <lu...@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-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>



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

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