By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
459,964 Members | 1,810 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 459,964 IT Pros & Developers. It's quick & easy.

Scriptaculous problem

P: n/a
Does any peo^le can help me with this script? Event.observe seem to be off

Thank's in advance
HTML>
<BODY>
<script type="text/javascript">

netscape.security.PrivilegeManager.enablePrivilege ("UniversalBrowserRead");
</script>
<script type = "text/javascript" src="scriptaculous/lib/prototype.js">
</script>
<script type = "test/javascript" src="scriptaculous/src/scriptaculous.js">
</script>
<H1>Recherche d'une ville us</H1>
<P>Nom de la ville ou code<BR/>
<input id="ville" type="text" />
</P>
<DIV id)"villes"</DIV>
<script type="text/javascript">

function updateVilles (element, valeur) {
//on lance une requete qui interroge le web service
var URL = 'http://xoap.weather.com/search/search';
URL +='?where='+valeur;
var requete = new ActiveXObject('Msxml2.XMLHTTP');
requete.open('GET', URL, false);
requete.send(null);
showResponse(requete);
}

function showResponse(req) {
xmlData = new ActiveXObject("Microsoft.XMLDOM");
xmlData.loadXML(req.responseText);

var html= '';

if xmlData.getElementByTagName('err').length!=0){
var noeud=xmlData.getElementByTagName('err')[0];
html = noeud.firstChild.data;
}
else {
var villes= xmlData.getElementByTagName('loc');
if ( villes.length !=0) {
for (var i=0; i < villes.length; i++)
html += villes[i].firstChild.data+'br/>';
}
else {
html= 'Aucune ville trouvee !';
}
}
$('villes').innerHTML = html;

}

Event.observe(window, 'load', function() {
new Form.Element.Observer('ville',0.5,updateVilles);
});
</SCRIPT>
</BODY>
</HTML>
Sep 9 '08 #1
Share this Question
Share on Google+
4 Replies


P: n/a
JacK wrote:
Does any peo^le can help me with this script? Event.observe seem to be off
[...]
<http://validator.w3.org/>
<http://jibbering.com/faq/>
<http://www.catb.org/~esr/faqs/smart-questions.html>
<http://groups.google.com/groups?as_q=Prototype.js+OR+Scriptaculous+OR+Scrip t.aculo.us&as_ugroup=comp.lang.javascript&scoring= d&filter=0>
PointedEars
--
Prototype.js was written by people who don't know javascript for people
who don't know javascript. People who don't know javascript are not
the best source of advice on designing systems that use javascript.
-- Richard Cornford, cljs, <f8*******************@news.demon.co.uk>
Sep 9 '08 #2

P: n/a
SAM
JacK a écrit :
Does any peo^le can help me with this script? Event.observe seem to be off
Quand on fait :
<http://xoap.weather.com/search/search?where=Paris>
on a bien un xml (avec une note de licence) avec tous les Paris.
Le search sur "Paris, France" donne encore 2 choix ...
M'a pas l'air coton à dompter ce truc.
<HTML>
<BODY>
<script type="text/javascript">
netscape.security.PrivilegeManager.enablePrivilege ("UniversalBrowserRead");
C'est pour pouvoir faire du cross-domain ?
</script>
<script type = "text/javascript" src="scriptaculous/lib/prototype.js">
</script>
<script type = "test/javascript" src="scriptaculous/src/scriptaculous.js">
</script>
<H1>Recherche d'une ville us</H1>
<P>Nom de la ville ou code<BR/>
<input id="ville" type="text" />
</P>
<DIV id)"villes"</DIV>
Là je vois comme un problème ! typo ?
You can't have 2 IDs with same name !

I suppose you wanted to write :

<DIV id="villes"></DIV>

Ça n'aurait donc rien à voir avec "observe()"
<script type="text/javascript">

function updateVilles (element, valeur) {
(...)
$('villes').innerHTML = html;
}

Event.observe(window, 'load', function() {
new Form.Element.Observer('ville',0.5,updateVilles);
});
</SCRIPT>
--
sm
Sep 9 '08 #3

P: n/a
SAM a écrit :
>netscape.security.PrivilegeManager.enablePrivileg e("UniversalBrowserRead");

C'est pour pouvoir faire du cross-domain ?
C'est une solution de contournement pour réaliser une connexion vers un
serveur tiers, ce qui est interdit en standard sous firefox.
>
></script>
<script type = "text/javascript" src="scriptaculous/lib/prototype.js">
</script>
<script type = "test/javascript"
src="scriptaculous/src/scriptaculous.js">
</script>
<H1>Recherche d'une ville us</H1>
<P>Nom de la ville ou code<BR/>
<input id="ville" type="text" />
</P>
<DIV id)"villes"</DIV>

Là je vois comme un problème ! typo ?
yeah thanks
You can't have 2 IDs with same name !
I don't understand.
>
I suppose you wanted to write :

<DIV id="villes"></DIV>
C'est rectifié.
>
Ça n'aurait donc rien à voir avec "observe()"
Mais je n'arrive pas à le faire fonctionner.

merci

Sep 9 '08 #4

P: n/a
SAM
JacK a écrit :
SAM a écrit :
>></P>
<DIV id)"villes"</DIV>

Là je vois comme un problème ! typo ?
yeah thanks
>You can't have 2 IDs with same name !
I don't understand.
on ne peut donner un même nom à plus d'un ID
(mais tu dois le savoir)
><DIV id="villes"></DIV>
C'est rectifié.
>>
Ça n'aurait donc rien à voir avec "observe()"
Mais je n'arrive pas à le faire fonctionner.
Alors ... comme je ne pratique pas ces biblis ...
reste à piocher les liens donnés par OreillePointées (PointedEars)
merci
Ben ... j'espérais que c'était seulement ça.

Autre chose, je ne vois pas à quoi sert 'element' dans :
function updateVilles (element, valeur) { ...
et je ne sais comment tu y passes la valeur ( value ?)

J'essaierais :

function updateVilles (element) {
var valeur = element.getValue();
Le site esspécialisé n'est pas très disert pour Form.Element.Observer
<http://prototypejs.org/api/timedObserver/form-element-observer>

Pour ton surveillant :

Event.observe(window, 'load', function() {
new Form.Element.Observer('ville',0.5,updateVilles);
});

là 'updateVilles' est la fontion de callback
mais ... comment y sont passés les arguments ?
(element et value)

Event.observe(window, 'load', function() {
new Form.Element.Observer('ville',0.5,
function(){
updateVilles('',$('villes').value);
});
});

pit être ? si je me réfère à :
<http://prototypejs.org/api/timedObserver>

--
sm
Sep 9 '08 #5

This discussion thread is closed

Replies have been disabled for this discussion.