Har ett ganska enkelt jQuery script där man kan addera fler fält i ett formulär, så här:
$(document).ready(function(){
$('#addFields').click(addFields)
});
function addFields() {
var strToAdd = $('<div class="fl_form_row"><input class="fl_input fl_input_margin" type="text" name="asd1[]" value="Asd1" onfocus="clearMe(this)" /><input class="fl_input" type="text" name="Asd2[]" value="Asd2" onfocus="clearMe(this)" /></div>').hide().fadeIn(1000);
$('#mainField').append(strToAdd);
}
function clearMe(formfield){
if (formfield.defaultValue==formfield.value)
formfield.value = "";
}
Detta fungerar bra i FireFox, de två input-boxarna fadear in som de ska. I internet explorer så "flashar" de till först och sedan fadeas de in. Så man hinner se dem 0.1-0.2sek när man klickar på "addera fler fält"-knappen.
Har sökt som en tok på google för en lösning men har ej hittat någon.
Har bara testat detta i IE8/FF, inte i IE7/IE6.
onfocus="clearMe(this)" fungerar inte heller i IE8 på den dynamiskt tillagda boxarna, jag har två sådana här exakt likadana boxar synliga från början. Och där fungerar onfocus-scriptet utan problem.
Det märkliga är att clearMe() funktionen fungerar om jag "hårdkodar" input fälten i html-koden med onclick i IE8. Och det är ju samma funktion som läggs till i javascriptet också.
dock så finns inte elementen, så jag vet inte riktigt vad IE gör men den verkar inte spara undan defaultValue på element som skapas efter att sidan har laddats in.