Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.lang.javascript > #8246 > unrolled thread
| Started by | Enrico Maria Chellini <bitit@bitit.it> |
|---|---|
| First post | 2018-04-28 10:58 +0200 |
| Last post | 2018-05-06 18:15 +0200 |
| Articles | 8 — 2 participants |
Back to article view | Back to it.comp.lang.javascript
trasmissione dati Enrico Maria Chellini <bitit@bitit.it> - 2018-04-28 10:58 +0200
Re: trasmissione dati Alessandro Pellizzari <shuriken@amiran.it> - 2018-04-28 11:54 +0100
Re: trasmissione dati Enrico Maria Chellini <bitit@bitit.it> - 2018-04-28 17:13 +0200
Re: trasmissione dati Alessandro Pellizzari <shuriken@amiran.it> - 2018-04-28 16:34 +0100
Re: trasmissione dati Enrico Maria Chellini <bitit@bitit.it> - 2018-04-30 12:34 +0200
Re: trasmissione dati Enrico Maria Chellini <bitit@bitit.it> - 2018-04-30 12:38 +0200
Re: trasmissione dati Enrico Maria Chellini <bitit@bitit.it> - 2018-04-30 12:39 +0200
Re: trasmissione dati Enrico Maria Chellini <bitit@bitit.it> - 2018-05-06 18:15 +0200
| From | Enrico Maria Chellini <bitit@bitit.it> |
|---|---|
| Date | 2018-04-28 10:58 +0200 |
| Subject | trasmissione dati |
| Message-ID | <20180428105816.07568b7e@nntp.aioe.org> |
non mi funziona la trasmissione di questi dati
onClick="showMap('nome','43.5636150,10.3444740')
in php riesco a trasmetterli ma vorrei capire perchè così non funziona.
in oltre se aggiungo un traget al link di chiusura non si chiude il
layer "<a href="#1" >Torna Alla
Scheda</a> "
-----
<html><head>
<link rel="stylesheet" href="css/stili.css">
<link rel="stylesheet"
href="http://cdn.leafletjs.com/leaflet/v0.7.7/leaflet.css" /> <script
src="http://cdn.leafletjs.com/leaflet/v0.7.7/leaflet.js"></script> <?php
if (isset($_GET['myPosition'])){
$myPosition=$_GET['myPosition'];} ?>
<script type="text/javascript">
function showMap( nome,myPosition) {
var myLayer = document.createElement('div');
myLayer.id = 'mapLayer';
myLayer.style.position = 'absolute';
myLayer.style.left = '10px';
myLayer.style.top = '10px';
myLayer.style.width = '90%';
myLayer.style.padding = '10px';
myLayer.style.background = '#B6DEE2';
myLayer.innerHTML = ' <a href="" onClick="showMap( );">Torna Alla
Scheda</a> <div id="map"></div> '; document.body.appendChild(myLayer);
var map = L.map('map').setView([+myPosition], 12);
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a
href="http://osm.org/copyright">OpenStreetMap</a>
contributors' }).addTo(map);
L.marker([+myPosition]).addTo(map)
.bindPopup(+nome).openPopup();
}
</script>
</head><body bgcolor=red>Guarda Nella
<a href="#" onClick="showMap('nome','43.5636150,10.3444740');"
>mappa</a>
<br>
</body></html>
[toc] | [next] | [standalone]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2018-04-28 11:54 +0100 |
| Message-ID | <fkj276Ff84fU1@mid.individual.net> |
| In reply to | #8246 |
On 28/04/18 09:58, Enrico Maria Chellini wrote: > myLayer.innerHTML = ' <a href="" onClick="showMap( );">Torna Alla > Scheda</a> <div id="map"></div> '; document.body.appendChild(myLayer); Non scrivo codice del genere da un pezzo, ma mi pare che quello che inietti con innerHTML è "puro testo". Gli eventi che appendi in questo modo non vengono connessi. Devi creare l'elemento A, attaccargli l'evento e poi attaccare l'elemento A all'elemento myLayer con appendChild (vado a memoria, controlla le funzioni) Bye.
[toc] | [prev] | [next] | [standalone]
| From | Enrico Maria Chellini <bitit@bitit.it> |
|---|---|
| Date | 2018-04-28 17:13 +0200 |
| Message-ID | <20180428162258.48aa8b4d@nntp.aioe.org> |
| In reply to | #8247 |
Il giorno Sat, 28 Apr 2018 11:54:30 +0100
Alessandro Pellizzari <shuriken@amiran.it> ha scritto:
> On 28/04/18 09:58, Enrico Maria Chellini wrote:
>
> > myLayer.innerHTML = ' <a href="" onClick="showMap( );">Torna Alla
> > Scheda</a> <div id="map"></div> ';
> > document.body.appendChild(myLayer);
>
> Non scrivo codice del genere da un pezzo, ma mi pare che quello che
> inietti con innerHTML è "puro testo". Gli eventi che appendi in questo
> modo non vengono connessi.
>
> Devi creare l'elemento A, attaccargli l'evento e poi attaccare
> l'elemento A all'elemento myLayer con appendChild (vado a memoria,
> controlla le funzioni)
>
> Bye.
UHM.. non ho capito .. ma cerco di spiegarmi meglio;
myLayer si apre e anche la mappa si apre, ma senza coordinate.
se faccio
function saluta(nome,cognome) { //nome è l’argomento
alert("ciao"+nome+cognome);
}
<a href="#"
onClick="saluta('enrico','43.5636150,10.3444740');">mappa</a>
il messaggio di allert mi viene corretto con nome e coordinate
ovvero +nome assume "enrico", +cognome assume "43.5636150,10.3444740"
ma nel codice della mappa che ho postato prima invece nel sorgente
rimane +nome e +myPosition
+nome +myPosition non me li trasforma nei valori inviati, al contrario
della funzione "saluta".
in PHP invece metto
"" var map = L.map('map').setView([<?php echo $myPosition; ?>],
12);
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a
href="http://osm.org/copyright">OpenStreetMap</a>
contributors' }).addTo(map);
L.marker([<?php echo $myPosition; ?>]).addTo(map)
.bindPopup("Posizione ").openPopup();
}
<a href="prova.php?myPosition=43.5636150,10.3444740"
onmousedown="showLayer();" >mappa</a>""
----
funziona.
help!
[toc] | [prev] | [next] | [standalone]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2018-04-28 16:34 +0100 |
| Message-ID | <fkjijtFirmkU1@mid.individual.net> |
| In reply to | #8248 |
On 28/04/18 16:13, Enrico Maria Chellini wrote:
> ma nel codice della mappa che ho postato prima invece nel sorgente
> rimane +nome e +myPosition
> +nome +myPosition non me li trasforma nei valori inviati, al contrario
> della funzione "saluta".
>
> in PHP invece metto
> "" var map = L.map('map').setView([<?php echo $myPosition; ?>],
> 12);
Questo perché PHP genera una stringa che poi diventa "codice javascript".
Se sei in Javascript, quella funzione (setView) accetta un parametro che
è un array di floating-point.
Quell che fai tu qui:
var map = L.map('map').setView([+myPosition], 12);
L.marker([+myPosition]).addTo(map)
.bindPopup(+nome).openPopup();
È dirgli: "prendi myPosition e nome, trasformali in numeri e sommaci 0"
Per nome è semplice: togli il +
Per myPosition è più complicato. O passi le due coordinate
separatamente, oppure devi parsare la stringa a mano.
La prima è più semplice:
function showMap( nome, x, y) {
...
var map = L.map('map').setView([x, y], 12);
...
L.marker([x, y]).addTo(map).bindPopup(nome).openPopup();
}
[toc] | [prev] | [next] | [standalone]
| From | Enrico Maria Chellini <bitit@bitit.it> |
|---|---|
| Date | 2018-04-30 12:34 +0200 |
| Message-ID | <20180430123444.54b36ca7@nntp.aioe.org> |
| In reply to | #8249 |
.
>
> La prima è più semplice:
>
> function showMap( nome, x, y) {
> ...
> var map = L.map('map').setView([x, y], 12);
> ...
> L.marker([x, y]).addTo(map).bindPopup(nome).openPopup();
> }
>
Thank.
Funziona
Enrico
[toc] | [prev] | [next] | [standalone]
| From | Enrico Maria Chellini <bitit@bitit.it> |
|---|---|
| Date | 2018-04-30 12:38 +0200 |
| Message-ID | <20180430123713.73640227@nntp.aioe.org> |
| In reply to | #8250 |
> > Thank. > > Funziona > Enrico > ma mi rimane il problema per la chiusura della funzione per chiudere la mappa, myLayer se metto href="#1" non si chiude e ho bisogno del target Enrico
[toc] | [prev] | [next] | [standalone]
| From | Enrico Maria Chellini <bitit@bitit.it> |
|---|---|
| Date | 2018-04-30 12:39 +0200 |
| Message-ID | <20180430123919.26db2b49@nntp.aioe.org> |
| In reply to | #8251 |
> ma mi rimane il problema per la chiusura della funzione > > per chiudere la mappa, myLayer se metto href="#1" non si chiude e ho > bisogno del target > > > Enrico > > ps. se metto troppo codice di esempio non mi fa spedire i post. Enrico
[toc] | [prev] | [next] | [standalone]
| From | Enrico Maria Chellini <bitit@bitit.it> |
|---|---|
| Date | 2018-05-06 18:15 +0200 |
| Message-ID | <20180506181545.4e57e987@nntp.aioe.org> |
| In reply to | #8252 |
> >
> >
>
> ps. se metto troppo codice di esempio non mi fa spedire i post.
> Enrico
scusate ancora ma vediamo se riesco a capire un po' come funziona
javascript
allora
con il primo click href="#° onclick attivo la funzione showMap()
adesso per chiuderla potrei fare href="#1" che mi da il target che mi
serve e chiamare onclick="chiudi();"
dentro chiudi() {
// ci posso mettere qualcosa che mi chiuda showMap
showMap return false
}
ma sbaglio qualcosa ..
[toc] | [prev] | [standalone]
Back to top | Article view | it.comp.lang.javascript
csiph-web