Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.lang.javascript > #8246 > unrolled thread

trasmissione dati

Started byEnrico Maria Chellini <bitit@bitit.it>
First post2018-04-28 10:58 +0200
Last post2018-05-06 18:15 +0200
Articles 8 — 2 participants

Back to article view | Back to it.comp.lang.javascript


Contents

  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

#8246 — trasmissione dati

FromEnrico Maria Chellini <bitit@bitit.it>
Date2018-04-28 10:58 +0200
Subjecttrasmissione 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: '&copy; <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]


#8247

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2018-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]


#8248

FromEnrico Maria Chellini <bitit@bitit.it>
Date2018-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: '&copy; <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]


#8249

FromAlessandro Pellizzari <shuriken@amiran.it>
Date2018-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]


#8250

FromEnrico Maria Chellini <bitit@bitit.it>
Date2018-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]


#8251

FromEnrico Maria Chellini <bitit@bitit.it>
Date2018-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]


#8252

FromEnrico Maria Chellini <bitit@bitit.it>
Date2018-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]


#8253

FromEnrico Maria Chellini <bitit@bitit.it>
Date2018-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