Het is vast wel mooi weer buiten.
Zal je met de onsubmit zaken moeten spelen, of niet?
P&W -> W&G
P&W -> W&G
postvar's kun je volgens mij niet afvangen met javascript, getvar's wel door de URL-string te splitten.
Kweet niet, maar als je werkt met frames en je bedoeld met 'target-pagina' een ander frame, dan kun je een javascript functie schrijven en die attachen met het action propperty van het form element.
objFrame.naamVarriabele = objVeld.value;
objFrame.naamVarriabele = objVeld.value;
Het idee dat ik heb is als volgt:
- Ik zit op pagina A. Daar wil ik een drietal variabelen bij een thumbnail plaatsen: Title, Image en Text. Bij het klikken op de thumb moet er een popup komen van een target-html-pagina, bijvoorbeeld doel.html; in doel.html moet dan de vergrote variant van de thumb komen via de variabele Image, met als titel variabele Title en als bijschrift variabele Text.
Het leek mij dat dit het handigste kon door een form te gebruiken. Aangezien een en ander op cd-rom moet (huwelijkscadeau), kan er geen asp op php worden gebruikt. Dus: hoe vang ik nou de waarden uit de submit af?
Hangloozz, kun je iets meer detail geven aub?
- Ik zit op pagina A. Daar wil ik een drietal variabelen bij een thumbnail plaatsen: Title, Image en Text. Bij het klikken op de thumb moet er een popup komen van een target-html-pagina, bijvoorbeeld doel.html; in doel.html moet dan de vergrote variant van de thumb komen via de variabele Image, met als titel variabele Title en als bijschrift variabele Text.
Het leek mij dat dit het handigste kon door een form te gebruiken. Aangezien een en ander op cd-rom moet (huwelijkscadeau), kan er geen asp op php worden gebruikt. Dus: hoe vang ik nou de waarden uit de submit af?
Hangloozz, kun je iets meer detail geven aub?
Het is vast wel mooi weer buiten.
Aanvullende info:
ik heb nu een js, dat een popup genereert via window.open etcetera. Maar die laat de browser de eerste keer crashen. En soms na een aantal thumbs aangeklikt te hebben (onregelmatig, geen patroon herkenbaar). De popup freezt dan, en loopt vervolgens inclusief de mother vast. Daar hebben al een aantal mensen aan zitten sleutelen, maar het is en mij en hen volkomen onduidelijk waarom een eenvoudige document.write zou kunnen leiden tot een crash. Vandaar deze nieuwe variant: via een submit.
ik heb nu een js, dat een popup genereert via window.open etcetera. Maar die laat de browser de eerste keer crashen. En soms na een aantal thumbs aangeklikt te hebben (onregelmatig, geen patroon herkenbaar). De popup freezt dan, en loopt vervolgens inclusief de mother vast. Daar hebben al een aantal mensen aan zitten sleutelen, maar het is en mij en hen volkomen onduidelijk waarom een eenvoudige document.write zou kunnen leiden tot een crash. Vandaar deze nieuwe variant: via een submit.
Het is vast wel mooi weer buiten.
Verwijderd
Je kunt dan het beste de variabelen in de URL plaatsen. Daar heb je geen formulier voor nodig. Dus:
In doel.html kun je dan d.m.v. de document.location.search-variabele de string met het vraagteken uitlezen. Bijv:
HTML:
1
2
3
| <a href="doel.html?title=Blues&image=cool.gif&text=plaatje" target="_blank"> [img]"thumb_cool.gif"> </a[/img] |
In doel.html kun je dan d.m.v. de document.location.search-variabele de string met het vraagteken uitlezen. Bijv:
JavaScript:
1
2
3
4
5
6
| var sSearch = document.location.search; var aSearch = sSearch.substr(1).split('&'); for(var i=0; i<aSearch.length; i++) { eval('var ' + aSearch[i]); } alert(title + ' ' + image + ' ' + text); |
nou, wat Blues als voorbeeld geeft dus
Misschien een hele domme opmerking van mij, maar als ik bovenstaand stukje code gebruik, dan geeft de functie eval drie keer undefined. Blijkbaar is het argument binnen eval niet kloppend.
Ik heb de aanroep "var title, image, text" op verschillende plaatsen gezet, maar dat levert ook niets op. Het blijft undefined. Wat gaat daar mis?
Ik heb de aanroep "var title, image, text" op verschillende plaatsen gezet, maar dat levert ook niets op. Het blijft undefined. Wat gaat daar mis?
Het is vast wel mooi weer buiten.
ik zou zeggen: post het hele script eens, want ik kan ff niet voor me halen wat je met 'de aanroep "var title, image, text" ' bedoelt..
Gewoon het benoemen dat er drie variabelen zijn, dus:
Omdat ik dacht dat het wellicht te maken had met het niet verklaren van de variabelen. Maar dat was dus niet zo
code:
1
2
3
4
5
6
7
| var title, image, text
var sSearch = document.location.search;
var aSearch = sSearch.substr(1).split('&');
for(var i=0; i<aSearch.length; i++) {
eval('var ' + aSearch[i]);
}
alert(title + ' ' + image + ' ' + text); |
Omdat ik dacht dat het wellicht te maken had met het niet verklaren van de variabelen. Maar dat was dus niet zo
Het is vast wel mooi weer buiten.
Verwijderd
Roep je de pagina wel zo aan?
En gooi anders eens wat alertjes tussen de javascript...ik heb het ook zo maar uit m'n mouw geschud
Het zou best kunnen dat ik een foutje heb gemaakt...
HTML:
1
2
3
| <a href="doel.html?title=Blues&image=cool.gif&text=plaatje" target="_blank"> [img]"thumb_cool.gif"> </a[/img] |
En gooi anders eens wat alertjes tussen de javascript...ik heb het ook zo maar uit m'n mouw geschud
Ik denk dat ik weet wat er mis gaat. Als je de eval in een alert gooit, dan zie je dat er komt: undefined. Maak je van eval een document.write, dan zie je dat er komt te staan: var title=Blues.
En dat moet worden: var title = "Blues".
Dus er moet nog een split plaatsvinden, op "=", en die twee stukken moeten weer achter elkaar gezet worden. Zoiets als: (ik ben geen programmeur van huis uit, dus ik doe het Nijntjeversie)
split op =
eval (split[0] = split[1])
En dat moet nu nog in code
En dat moet worden: var title = "Blues".
Dus er moet nog een split plaatsvinden, op "=", en die twee stukken moeten weer achter elkaar gezet worden. Zoiets als: (ik ben geen programmeur van huis uit, dus ik doe het Nijntjeversie)
split op =
eval (split[0] = split[1])
En dat moet nu nog in code
[ Voor 0% gewijzigd door Batje4 op 28-09-2002 08:46 . Reden: typo ]
Het is vast wel mooi weer buiten.
Ik gebruik zoiets voor een kaledar, misschien heb je er iets aan.
Dit is de code in de bron-pagina.
En dit is de code om in de doel-pagina de variabelen weer op te roepen.
Dit is de code in de bron-pagina.
code:
1
| <a href="#" onClick="window.dateField = document.SurveyForm.SurveyFromDate;window.dateField2 = document.SurveyForm.SurveyFromDateDisplay;calendar = window.open('calendar.asp','cal','WIDTH=200,HEIGHT=210,LEFT=660,TOP=300')"> |
En dit is de code om in de doel-pagina de variabelen weer op te roepen.
code:
1
2
| this.dateField = opener.dateField; this.dateField2 = opener.dateField2; |
Het heeft even geduurd, maar ik vond het belangrijk om toch even mijn uiteindelijke oplossing te presenteren, en natuurlijk iedereen te danken die heeft geholpen (forum, icq en mail)
Mijn oplossing werkt voor IE4.0 en hoger, N4.7x en hoger en Opera 4.0 en hoger.
Allereerst gebruik ik een javascript functie, die ik in een tabel een href laat vormen. De href ziet er als volgt uit:
Zoals je ziet roep ik via de href in een popup een standaard html-bestand aan: doel.html. In dat bestand staat o.a. het volgende:
Dit stukje code stelt mij dus in staat om de verschillende variabelen te scheiden (uit de array), en op elk gewenste plek (in dit geval: als titel) aan te roepen.
Enig nadeel dat ik heb kunnen ontdekken, is dat je in je html op verschillende plekken de gehele code moet herhalen voor de verschillende variabelen. Het is dus niet zo handig wanneer je veel variabelen wilt gebruiken, maar voor in mijn site werkt dit prima.
En ik ben hier blij mee
Mijn oplossing werkt voor IE4.0 en hoger, N4.7x en hoger en Opera 4.0 en hoger.
Allereerst gebruik ik een javascript functie, die ik in een tabel een href laat vormen. De href ziet er als volgt uit:
code:
1
2
3
4
5
6
7
| function BuildHref(title, image, text) {
var pas1 = '<a href="#" onclick="'
var pas2 = "window.open('doel.html?title=" + title + "&image=" + image + "&text=" + text + "','cal','WIDTH=450, HEIGHT=450, scrollbars=yes')"
var pas3 = '">'
var pas4 = '[img]"/Path_to_images/'[/img]</a>'
document.write(pas1 + pas2 + pas3 + pas4);
} |
Zoals je ziet roep ik via de href in een popup een standaard html-bestand aan: doel.html. In dat bestand staat o.a. het volgende:
code:
1
2
3
4
5
6
7
8
9
10
| <script language="JavaScript" type="text/javascript">
var tmp=this.location.href;
tmp=tmp.substr(tmp.indexOf("?")+1,tmp.length);
var args=new Array();
for(var i=0;i<tmp.split("&").length;i++){
args[tmp.split("&")[i].split("=")[0]]=unescape(tmp.split("&")[i].split("=")[1]);
}
document.write("<title>" + args['title'] + "</title>");
document.focus();
</script> |
Dit stukje code stelt mij dus in staat om de verschillende variabelen te scheiden (uit de array), en op elk gewenste plek (in dit geval: als titel) aan te roepen.
Enig nadeel dat ik heb kunnen ontdekken, is dat je in je html op verschillende plekken de gehele code moet herhalen voor de verschillende variabelen. Het is dus niet zo handig wanneer je veel variabelen wilt gebruiken, maar voor in mijn site werkt dit prima.
En ik ben hier blij mee
Het is vast wel mooi weer buiten.
Pagina: 1