Re: T5: A simple Ajax need(JQuery)

2007-10-09 Thread Angelo Chen

Hi Borut,

This works, now T5 and JQuery is getting interesting, still can't figure out
something as of now, example: this url, 'myPage', if the context is 'myapp',
then have to hardcode it like '/myapp/myPage', also if I want to pass a
parameter. anyway your tip makes my day productive:) Thanks,
A.C.


Borut Bolčina-2 wrote:
 
 Hello Angelo,
 
 in case you stil need a hint - here it is (off the top of my head)
 
 ** TEMPLATE *
 script
 function asyncCall () {
 $.ajax({
 url: myPage, // i think case doesn't matter
 success: function(msg){
 alert(msg); // -- try with small page that will
 fit
 the alert dialog
 }
 });
 }
 /script
 
 

-- 
View this message in context: 
http://www.nabble.com/T5%3A-A-simple-Ajax-need%28JQuery%29-tf4580040.html#a13112756
Sent from the Tapestry - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: T5: A simple Ajax need(JQuery)

2007-10-08 Thread Borut Bolčina
Hello Angelo,

in case you stil need a hint - here it is (off the top of my head)

** TEMPLATE *
script
function asyncCall () {
$.ajax({
url: myPage, // i think case doesn't matter
success: function(msg){
alert(msg); // -- try with small page that will fit
the alert dialog
}
});
}
/script

** TEMPLATE MyPage.htm*
html
  body
pHello from MyPage/p
  /body
/html

Cheers,
Borut


2007/10/8, Angelo Chen [EMAIL PROTECTED]:


 Hi Borut,

 Your tip works well, thanks. now this jQuery really make Ajax an easy task
 in T5. in another case, say, i would like to do this:

 $('#stats').load('Stats1.html');

 this is easy if Stats1.html is just a plain html, if It's a T5 page,
 exampe,
 I'd like T5 to render a page and the result will be 'loaded', any idea how
 to do this? thanks.
 A.C.



 Borut Bolčina-2 wrote:
 
  Hello Angelo,
 
  look how variable url is constructed.
 
 
 

 --
 View this message in context:
 http://www.nabble.com/T5%3A-A-simple-Ajax-need%28JQuery%29-tf4580040.html#a13089752
 Sent from the Tapestry - User mailing list archive at Nabble.com.


 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




Re: T5: A simple Ajax need(JQuery)

2007-10-07 Thread Borut Bolčina
Hello Angelo,

look how variable url is constructed.

 TEMPLATE (tml) 
html xmlns:t=http://tapestry.apache.org/schema/tapestry_5_0_0.xsd;
head
titleAjaxJQueryTask2/title
script type=text/javascript src=${jquery}/script
/head
body
h1AjaxJQueryTask2/h1

input type=text id=userid name=id
onkeyup=validate();/
div id=userIdMessagestatus/div

script
function validate() {
var idField = document.getElementById(userid);
   var url = ${theLink}/ + encodeURIComponent(
idField.value);

   $.ajax({
url: url,
success: function(response){
parseMessage(response);
},
error: function(){ alert('Something went wrong...') }
});

}

function parseMessage(response) {
 var message = response.getElementsByTagName(message)[0];

 setMessage(message.childNodes[0].nodeValue);
}

function setMessage(message) {
 var userMessageElement = document.getElementById
(userIdMessage);
 var messageText;
 if (message == invalid) {
 userMessageElement.style.color = red;
 messageText = Invalid User Id;
 } else {
 userMessageElement.style.color = green;
 messageText = Valid User Id;
 }
 var messageBody = document.createTextNode(messageText);
 // if the messageBody element has been created simple
replace it otherwise
 // append the new element
 if (userMessageElement.childNodes[0]) {
 userMessageElement.replaceChild(messageBody,
userMessageElement.childNodes[0]);
 } else {
 userMessageElement.appendChild(messageBody);
 }
}
/script
/body
/html

And now pay attention to a method onMyAction

 CLASS 
package org.example.tapestry.pages.ajax;

import java.util.HashMap;

import org.apache.tapestry.Asset;
import org.apache.tapestry.ComponentResources;
import org.apache.tapestry.Link;
import org.apache.tapestry.StreamResponse;
import org.apache.tapestry.annotations.Inject;
import org.apache.tapestry.annotations.Path;
import org.apache.tapestry.util.TextStreamResponse;

public class AjaxJQueryTask2 {
@Inject
@Path(context:assets/jquery-1.2.1.js)
private Asset _jquery;

private HashMapString, String users = new HashMapString, String();

void pageLoaded() {
System.out.println(AjaxTests PageLoaded);
users.put(greg, account 1);
users.put(duke, account 2);
}

@Inject
private ComponentResources _resources;

/**
 * Generates a URI to the server-side function for the XHR to use.
 *
 * @return the link
 */
public String getTheLink() {
Link l = _resources.createActionLink(myAction, false);
return l.toURI();
}

/**
 * This is a server-side method called via XHR that returns some text.
 *
 * @return some text
 */
StreamResponse onMyAction(String id) {
String message;
if ((id != null)  users.containsKey(id.trim())) {
message = messagevalid/message;
} else {
message = messageinvalid/message;
}
return new TextStreamResponse(type/xml, message);
}

/**
 * @return the prototype
 */
public Asset getJQuery() {
return _jquery;
}

/**
 * @param jquery
 *the prototype to set
 */
public void setJQuery(Asset jquery) {
_jquery = jquery;
}
}

I hope it helps.

Cheers,
Borut



2007/10/6, Angelo Chen [EMAIL PROTECTED]:


 Hi,

 I have a very simple Ajax need, here is the situation:

 My page will display a blog, when user click 'more comments', I'd like to
 load a T5 page into a DIV provided, so basically, the page is like this:

 pmy blog's text goes here/p
 div id=comments/div

 the js will be like this:

 $('#more_comments').click(function() {
$('#comments').load('/getcomment');

 got some questions: 1. simply passing the url '/getcomment' to load is
 enough? how to pass blog ID as parameters? 2. if above steps not correct,
 any other way to achive this? Thanks,
 A.C.



 --
 View this message in context:
 http://www.nabble.com/T5%3A-A-simple-Ajax-need%28JQuery%29-tf4580040.html#a13074090
 Sent from the Tapestry - User mailing list archive at Nabble.com.


 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




Re: T5: A simple Ajax need(JQuery)

2007-10-07 Thread Angelo Chen

Hi Borut,

Your tip works well, thanks. now this jQuery really make Ajax an easy task
in T5. in another case, say, i would like to do this:

 $('#stats').load('Stats1.html');

this is easy if Stats1.html is just a plain html, if It's a T5 page, exampe,
I'd like T5 to render a page and the result will be 'loaded', any idea how
to do this? thanks.
A.C.



Borut Bolčina-2 wrote:
 
 Hello Angelo,
 
 look how variable url is constructed.
 
 
 

-- 
View this message in context: 
http://www.nabble.com/T5%3A-A-simple-Ajax-need%28JQuery%29-tf4580040.html#a13089752
Sent from the Tapestry - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



T5: A simple Ajax need(JQuery)

2007-10-06 Thread Angelo Chen

Hi,

I have a very simple Ajax need, here is the situation:

My page will display a blog, when user click 'more comments', I'd like to
load a T5 page into a DIV provided, so basically, the page is like this:

pmy blog's text goes here/p
div id=comments/div

the js will be like this:

$('#more_comments').click(function() { 
   $('#comments').load('/getcomment');

got some questions: 1. simply passing the url '/getcomment' to load is
enough? how to pass blog ID as parameters? 2. if above steps not correct,
any other way to achive this? Thanks,
A.C. 



-- 
View this message in context: 
http://www.nabble.com/T5%3A-A-simple-Ajax-need%28JQuery%29-tf4580040.html#a13074090
Sent from the Tapestry - User mailing list archive at Nabble.com.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: T5: A simple Ajax need(JQuery)

2007-10-06 Thread Donyee
Try this!
a t:type=pageLink page=getcomment context=blogId
onclick=loadMoreComment(this.href); return false; span
LoadMore/span /a

2007/10/6, Angelo Chen [EMAIL PROTECTED]:

 Hi,

 I have a very simple Ajax need, here is the situation:

 My page will display a blog, when user click 'more comments', I'd like to
 load a T5 page into a DIV provided, so basically, the page is like this:

 pmy blog's text goes here/p
 div id=comments/div

 the js will be like this:

 $('#more_comments').click(function() {
$('#comments').load('/getcomment');

 got some questions: 1. simply passing the url '/getcomment' to load is
 enough? how to pass blog ID as parameters? 2. if above steps not correct,
 any other way to achive this? Thanks,
 A.C.



 --
 View this message in context: 
 http://www.nabble.com/T5%3A-A-simple-Ajax-need%28JQuery%29-tf4580040.html#a13074090
 Sent from the Tapestry - User mailing list archive at Nabble.com.


 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]




-- 
徐 依伟