Jag använder denna kod för att kolla om ett värde har ändrats i ett formulär när användaren lämnar sidan.(i detta fall en input type=text)
if (mittform.elements*.type == "text")
{
if (mittform.elements*.defaultValue != mittform.elements*.value){
//Gör något...
}
}
Men detta funkar inte när input typen är select eller select-multiple eftersom dessa typer inte har något "defaultValue"-property.
Hur kan jag lösa detta för att kolla om användaren ändrar sina värden?***
dectgapMedlem sedan sep. 20021 655 inlägg Otestad kod:
if (mittform.elements[i].type == "text"){
if (mittform.elements[i].defaultValue != mittform.elements[i].value){
//Gör något...
}
} else if(mittform.elements[i].type == "select"){
for(var j=0; j<mittform.elements[i].options.length; j++){
if(mittform.elements[i].options[j].defaultSelected == mittform.element[i].options[j].selected){
//Gör något annat...
}
}
}
Kanske strular till det...
men.. Jag förstår din tanke, men jag kanske ska förtydliga hur det är tänkt att fungera:
Det finns ett antal select-multiple rutor på flera olika sidor.
Rutorna har inga "defaultSelected" från början, utan användaren gör sina val
som då flyttas över till en ny ruta ("dina val: ")
När anv går till nästa sida så måste man kolla om det är något ändrat i rutorna och i så fall ska dessa ändringar i "dina val"-rutan submittas.
Om användaren återvänder till samma sida så kanske man kan loopa in dessa värden i select-multiple rutan och då kanske det går att kolla "defaultSelected" propertyt?
Krånglade jag till det mera eller förstod ni? =)
Vad menar du med "flyttas över till en ny ruta".