25 messaggi dal 30 ottobre 2011
Ciao!
risolti i problemini di ieri! dalla consolle del browser riesco a vedere che vengono assegnati i valori

var markers = [{luogo:'...', lat:'...', lon:'...'},...,{...}];

però mi vengono segnalati una decina di avvisi di questo tipo:
Resource interpreted as Other but transferred with MIME type undefined.

Inoltre non riesco ad "accedere" a questi dati da javascript. Non so se ora markers è considerato un array o xml.

ho provato con
alert(markers.length);
alert(markers[1].getAttribute("luogo"));

ma...niente!

Ti ringrazio in anticipo!
11.886 messaggi dal 09 febbraio 2002
Contributi
FRAx85 ha scritto:

però mi vengono segnalati una decina di avvisi di questo tipo:
Resource interpreted as Other but transferred with MIME type undefined.

Questi avvisi puoi ignorarli per ora... probabilmente la tua pagina include delle immagini o stili css o altro tipo di contenuti che vengono serviti dal webserver con un mimetype diverso da quello che il browser si aspetta.

FRAx85 ha scritto:

Inoltre non riesco ad "accedere" a questi dati da javascript. Non so se ora markers è considerato un array o xml.


sì, è un array di oggetti javascript.
La riga alert(markers.length); dovrebbe appunto far comparire un avviso che ti indica il numero di elementi presenti nell'array. Se non funziona, allora posta integralmente la riga in cui valorizzi la variabile markers. Può darsi che ci siano errori sintattici lì in mezzo.

Invece, la riga alert(markers[1].getAttribute("luogo")); non funziona perché .getAttribute è un metodo che puoi usare solo sui nodi html o xml. Invece, usa la dot-notation:
alert(markers[1].luogo);


così dovrebbe andare :)
ciao,
Modificato da BrightSoul il 31 ottobre 2011 19.27 -

Enjoy learning and just keep making
25 messaggi dal 30 ottobre 2011
Perfetto!!!
Mi scuso tanto per non aver postato che ero riuscita a risolvere.
questo è il mio codice... magari potrà essere utile anche a qualcun'altro.

var map;

    // Creo la mappa - initialize è richiamato dal body con un onload
    function initialize() {
      map = new google.maps.Map(document.getElementById("map_canvas"), {
        zoom: 8,
        center: new google.maps.LatLng(41.0, 17.0),
        mapTypeId: google.maps.MapTypeId.ROADMAP
      });
    
//prendo i dati da un dataTable  
var markers = [<asp:Repeater id="queryres" runat="server"><ItemTemplate>{luogo:'<%# Eval("luogo") %>', lat:'<%# Eval("lat") %>', lon:'<%# Eval("lon") %>', tipo:'<%# Eval("tipo") %>', descrizione:'<%# Eval("descrizione") %>'}</ItemTemplate><SeparatorTemplate>,</SeparatorTemplate></asp:Repeater>];
          
         for (var i = 0; i < markers.length; i++) {
            var luogo = markers[i]["luogo"];
            var descrizione = markers[i]["descrizione"];
            var tipo = markers[i]["tipo"];
            var point = new google.maps.LatLng(parseFloat(markers[i]["lat"]),parseFloat(markers[i]["lon"]));
            var marker = createMarker(point, descrizione, luogo, tipo);
            map.addOverlay(marker);

            }
    }        
     function createMarker(point, descrizione, luogo, tipo) {
     
     
            var customIcons = [];
            customIcons["Consiglio"] = new google.maps.MarkerImage('icone/yellow1.png');
            customIcons["Feedback negativo"] = new google.maps.MarkerImage('icone/red1.png');
          customIcons["Feedback positivo"] = new google.maps.MarkerImage('icone/green1.png');
            var image = customIcons[tipo];

       var marker = new google.maps.Marker({position:point, 
                                         map:map,
                 icon:image,
                 title:luogo  });
                       
       var fumetto = new google.maps.InfoWindow({                                            content:"<b>" + tipo + "</b><br/><b>Indirizzo:</b> " + luogo + "<br/><b>Descrizione:</b> " + descrizione,
maxWidth:200});
google.maps.event.addListener(marker, 'click', function (){fumetto.open(map, marker);    
      });
      return marker;  
   }


Grazie mille ancora! Gentilissimo! ;)
11.886 messaggi dal 09 febbraio 2002
Contributi
di nulla! grazie per aver postato il codice :)

Enjoy learning and just keep making
25 messaggi dal 30 ottobre 2011
Hello guys!

Ora mi si è presentato il problema inverso.
Posso da un masterpage.aspx.vb risalire ad una variabile javascript della pagina miofile.aspx?
Mi spiego meglio ho una masterpage al cui interno ho il miofile.aspx. Da un pulsante presente nella masterpage ho bisogno di risalire ad alcune variabili javascript. è fattibile? in che modo?

Ho tentato in questo modo, ma nulla!

If Me.Page.IsPostBack Then
Dim variabielVB$ = Request.Form("variabileJS")
MsgBox("La variabile passata da javascript è: " & variabileVB)
End If

In questo modo mi esce il message ma senza il valore della variabile che ho richiesto! Sbaglio il riferimento?

Vi ringrazio in anticipo.
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao, i valori delle variabili javascript non vengono inviati al server quando fai un postback. Soltanto i campi input vengono inviati come parte della richiesta.

Affinché tu possa recuperare un valore mediante Request.Form("variabile"), c'è bisogno che "variabile" sia un campo input. Ad esempio:
<input type="hidden" id="variabile" name="variabile" />


Ciò che potresti fare è copiare il valore della variabile javascript in un campo input di quel tipo, subito prima che il postback si verifichi.

Oppure, potresti sbarazzarti del tutto della variabile javascript e lavorare soltanto col campo hidden, così non hai l'incombenza di tenerli sincronizzati. Lo script leggerà il suo valore e lo aggiornerà al bisogno.

//leggo
alert(document.getElementById("variabile").value);
//aggiorno
document.getElementById("variabile").value = "nuovo valore";


ciao,

Enjoy learning and just keep making
25 messaggi dal 30 ottobre 2011
Grazie mille per il suggerimento!!!

c'è qualcosa che non quadra

miofile.aspx (la funzione JS cerca() viene richiamata al click di un pulsante)

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<script ....>
[...]
function cerca(){
var indirizzo = "via roma"
         //aggiorno variabili indirizzo
         document.getElementById("indirizzo").value = indirizzo;   
   //leggo
         alert(document.getElementById("indirizzo").value);
 }
</script>

[...]
<input type="hidden" id="indirizzo" name="" value="" />
[...]
 
</asp:Content>


codice della masterpage.master.vb

Protected Sub bttSegnala_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bttsegnala.Click
Dim address As String = Request.Form("indirizzo")
MsgBox("La variabile passata da javascript è: " & address)
End Sub


Allora l'allert con il document.getElementById("indirizzo").value) va alla grande, ma la variabile address in vb non viene assegnata. come mai? dipende dal fatto che il bttSegnala è nella masterpage.aspx e non nel miofile.aspx?
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,

FRAx85 ha scritto:

dipende dal fatto che il bttSegnala è nella masterpage.aspx e non nel miofile.aspx?

no, infatti la collezione Request.Form è accessibile sia dalla masterpage che dalla pagina contenuto.

Il problema è che il campo input ha un attributo name vuoto. La specifica html indica che solo i campi forniti di name verranno inclusi nel post.

Prova così:
<input type="hidden" id="indirizzo" name="indirizzo" value="" />

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.