Hallo allemaal,

Mijn javascript brein is 0,0 maar toch heb ik geprobeerd een functie te maken. Niet al te verbazend, hij doet het niet :(.

Kan iemand mij vertellen wat ik fout doe ?

Head:

function confirm(url, message) 
{
	var answer = confirm(message);
	if(answer)
	{
		window.location = url;
	}
}


Body:
<a href="javascript:confirm(http://www.google.nl, test);"><img src="images/kruis.png" alt="Verwijderen uit dit menu" border="0" /></a>

Groeten,
Ricardo
moet de message woren opgeslagen in een var genaamd answer? want wat je nu doet is een functie callen. als je message naar answer will hebben, doe je gewoon var answer = message;
Dat wat je nu probeert gaat in geen enkele taal hé. (Of je zou een oneindige loop krijgen, als je überhaupt al een functie van de taal kan aanpassen.)
Je moet iig de buitenste confirm een andere naam geven, zoals my_confirm.
Ook moet de functie return false terug geven, anders denkt de browser dat hij een verkeerde URL moet volgen.

Stefan schreef op 28.11.2009 22:01
moet de message woren opgeslagen in een var genaamd answer? want wat je nu doet is een functie callen. als je message naar answer will hebben, doe je gewoon var answer = message;

Weet je wel wat confirm doet?
Denk het niet. Confirm geeft namelijk in principe 1 of 0 af, dus kan je met een if kijken of er op oké of op stop gedrukt is. Zie ook dit.
En nog een fout: strings die als argument mee worden gegeven aan een functie moeten omsloten worden door quotes.

Voor compatibiliteit zou je de aanroep ook niet in de href moeten doen, maar in een onclick met als href 'javascrript:void(0);'.

Wat ik ook wel eens heb gemerkt is dat window.location niet overal als verwacht werkt. location.href werkt afaik wel overal.
confirm() bestaat toch al? Je wilt hem zelf gebruiken. Waarom probeer je hem dan zelf aan te maken? Kies een andere functie naam en ik gok dat er al een hoop is opgelost...
Dank je! het lag inderdaad aan de functienaam!

Compatibiliteit ga ik eens naar kijken.
Elwin schreef op 29.11.2009 10:06
Voor compatibiliteit zou je de aanroep ook niet in de href moeten doen, maar in een onclick met als href 'javascrript:void(0);'.

Helemaal net is het als hij gewoon een event listener gebruikt die een confirm bericht geeft en dan geeft of de default action moet gebeuren of niet.
Als de javascript dan uitstaat, of er is een fout in de javascript, dan werkt de link nog wel. Zie dit.

Reageren