Innerhtml javascript waarde uitlezen
Ik laad een complete html in met in de head een javascript in een div via innerhtml.
Nu wil ik een waarde uitlezen uit die javascript.
Maar dat lukt me (nog) niet.
Is het wel mogelijk?
Kan anders wel wat proberen met een iframe.
Dat html bestand is overigens eentje van mijn eigen domein.
Gewijzigd op 16/04/2016 19:26:52 door Hans De Ridder
ja dat is mogelijk. Maar een voorbeeldje van jouw kant zou makkelijk zijn. iframes zou ik vermijden.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<script type="text/javascript">
function load_home()
{
document.getElementById('code').innerHTML='<object type="text/html" data="regxx.html"></object>';
}
function tryit()
//Dit werkt niet uiteraard
{
var divElement = document.getElementById('code');
alert (divElement.getAttribute('aa'));
}
</script>
</head>
<body onload = "load_home()">
<a href="javascript: tryit();">Probeer het</a>
<div id="code" style="width: 500px; height: 500px;" ></div>
</body>
</html>
function load_home()
{
document.getElementById('code').innerHTML='<object type="text/html" data="regxx.html"></object>';
}
function tryit()
//Dit werkt niet uiteraard
{
var divElement = document.getElementById('code');
alert (divElement.getAttribute('aa'));
}
</script>
</head>
<body onload = "load_home()">
<a href="javascript: tryit();">Probeer het</a>
<div id="code" style="width: 500px; height: 500px;" ></div>
</body>
</html>
dit is een stukje van de htmlfile met javascript:
via een object (Google: javascript get html from object)
via een iframe (Google: javascript get html from iframe)
< 5 minuten googlen
Afhankelijk van wat je probeert te bereiken is het omarmen van een andere techniek (PHP?) wellicht een betere oplossing.
En ik hoef maar twee waardes op te halen.
Gaat om het omzetten van postcodes naar lengte-breedtegraden.
Heb nu de uitgeklede versie gebruikt.
Want de kaart van google maps gebruik ik anders als in het oorspronkelijke script.
Dit stukje script wil ik gebruiken om na het registeren direct om te zetten naar
lengte-breedtegraden.
De gegevens van de postcodes (en lengte/breedte) komen daarna uit de database.
En ook via form om een variabele postcode te gebruiken.
Het uitlezen is me nu gelukt door de html in een iframe te plaatsen.
De versie via de Div heb ik nog niet werkbaar kunnen vinden.
Euh? Kun je dat niet oplossen via API calls van de dienst die je gebruikt? Google? Iets anders? Dit klinkt als een gekunsteld gebruik van een of andere (web)service.
Ook postcode.nl heeft gratis omzetters. En ook betaald voor meer uitgebreide opties.
Maar die is weer beperkt tot Nederland.
Er zijn een aantal websites die links (mogen)gebruiken van andere servicediensten.
Die gebruiken ook google maps in hun scripts...
Maar dat gedeelte heb ik al klaar met wat meer opties.
Dus gebruik ik het noodzakelijke van de mogelijkheden.
Daarom heb ik ook alleen die lengte/breedte nodig.
Overigens niks illegaals.... Scripts zijn gewoon te vinden met google.
Hans De Ridder op 18/04/2016 15:38:09:
De gratis API is beperkt wat betreft aantal keren gebruik. er is wel van Google een Geocode...maar die moet je betalen.
Ook postcode.nl heeft gratis omzetters. En ook betaald voor meer uitgebreide opties.
Maar die is weer beperkt tot Nederland.
Er zijn een aantal websites die links (mogen)gebruiken van andere servicediensten.
Die gebruiken ook google maps in hun scripts...
Maar dat gedeelte heb ik al klaar met wat meer opties.
Dus gebruik ik het noodzakelijke van de mogelijkheden.
Daarom heb ik ook alleen die lengte/breedte nodig.
Overigens niks illegaals.... Scripts zijn gewoon te vinden met google.
Ook postcode.nl heeft gratis omzetters. En ook betaald voor meer uitgebreide opties.
Maar die is weer beperkt tot Nederland.
Er zijn een aantal websites die links (mogen)gebruiken van andere servicediensten.
Die gebruiken ook google maps in hun scripts...
Maar dat gedeelte heb ik al klaar met wat meer opties.
Dus gebruik ik het noodzakelijke van de mogelijkheden.
Daarom heb ik ook alleen die lengte/breedte nodig.
Overigens niks illegaals.... Scripts zijn gewoon te vinden met google.
Google geocoder kan je ook gratis gebruiken tot een x aantal requests.
Ik werk bijna dagelijks met de google api's, gedeeltelijk met de gratis services, en werkt prima!
Gewijzigd op 18/04/2016 15:49:02 door Randy vsf
Nu wil ik ook een functie hebben om vanaf een form leden zelf een postcode in te geven.
Dan heb ik de database niet nodig op dat moment.
Ik vervang dan de gegevens grotendeels door vaste gegevens.
Alleen de lengte/breedte moet ik veranderen.
En het vervangen door een andere waarde lukt me nog niet.
De alert geeft de juiste waardes aan (a = de lat, b = lng).
Maar krijg dat niet verwerkt.
Gaat om het volgende stukje:
Code (php)
1
2
3
4
2
3
4
alert(a+" plus "+b);
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")))
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")))
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var name = "Gast";
var address = "Gast";
var type = "4";
alert(a+" plus "+b);
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var html = "<b>" + name + "</b> <br/>" + address;
}
var icon = customIcons[type] || {};
var marker = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon
var address = "Gast";
var type = "4";
alert(a+" plus "+b);
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var html = "<b>" + name + "</b> <br/>" + address;
}
var icon = customIcons[type] || {};
var marker = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon
Toevoeging op 19/04/2016 15:55:10:
Is opgelost...veel eenvoudiger dan ik dacht..