Scriptaculous problem

J

JacK

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.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>
 
S

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()"
 
J

JacK

SAM a écrit :
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.
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
 
S

SAM

JacK a écrit :
SAM a écrit :
I don't understand.

on ne peut donner un même nom à plus d'un ID
(mais tu dois le savoir)
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)

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>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,770
Messages
2,569,584
Members
45,075
Latest member
MakersCBDBloodSupport

Latest Threads

Top