Beste php-ers,

Ik heb in JQuery een functie gemaakt in de document.ready.


$('#titleInput').keyup(function() {
	if($("#filename").val() == "" || $("#filename").val() != $(this).val()) {
		str = $("#titleInput").val();
		if($(this).val().indexOf(" ") != -1) {
			alert('Gevonden');
			str = str.replace(" ","-");
		} else {
			alert('NIET Gevonden');
		}
		$("#filename").val(str);
	}
});


De bedoeling is dat hij iedere spatie die in de input van titleInput komt, te vervangen voor een streepje. Echter doet hij nu enkel bij de eerste spatie een streepje en bij de andere spaties niets meer.
Hoe kan ik dit oplossen?
Harmen schreef op 29.12.2009 22:44

str = str.replace("/ /g","-");


De 'g' staat voor global.

Staat ook op stackoverflow geloof ik. Maar volgens mij doet hij gewoon iets totaal verkeerd. Zie hierboven.
ik heb inmiddels de oplossing:)

makkelijkste en wat in IE7, IE8, chrome, mozilla en safari werkte was het volgende:


$('#titleInput').keyup(function() {
	if($("#filename").val() == "" || $("#filename").val() != $(this).val()) {
		str = $("#titleInput").val();
		if($(this).val().indexOf(" ") != -1) {
                    str = str.split(' ').join('-');
		}
		str = str.toLowerCase();
          		$("#filename").val(str);
	}
});


In mijn geval ging het dat bij elke keyup hij de value doorkijkt of er een spatie in zit en deze vervangt voor een streepje.

doormiddel van .split(' ').join('-') draaide hij in elke browser goed

Dank jullie voor jullie medewerking!

Reageren