Gå til innhold

Feil i script i iexplorer og opera fungerer i FF


Anbefalte innlegg

Jeg har et script som fungerer halveis i ie og Opera mens det fungerer 100% i Firefox..

 

 

første del:

 

har et bilde med disse eventhandlers onmouseover , ondblclick og onmouseout.

 

 

onmouseover henter stortbilde og medlems/ansatt info fra database asynkront.

onmouseout fjerner bilde og info setter inn en standard tekst.

 

Når en dobbelklikker på bildet blir onmouseout funksjonen nullet ut.

 

En kan da dobbelklikke på ansattinfoen ( dersom en er seg selv. dvs. at jeg kan gjøre dette med min info, men ikke andres ) og div elementet blir byttet ut til et textarea og en kan redigere teksten sin. med onblur blir data sendt til serveren og modulen blir lastet på nytt.

 

Det er under her det går galt.. :(

 

For å unngå skummel injisert kode kjører skriptet m.a htmlentities på inndata på serveren. (php) For å tillate linjeskift bruker jeg {ls} inn til database som linjeskift.

 

dette blir gjort om til <br> på serveren det hele fungere greit.

 

dobbeklikker en på teksten vil et javascript endre alle <br> til {ls} slik at det blir lagret i rett format på server (mysql) . I ff blir alle <br> ene byttet ut med {ls} mens i ie og opera blir de byttet ut med <BR>

 

 

 

 

function editInfo(uid){

var node = document.getElementById('userDetails');

var nodeId = node.getAttribute('id');

 

var nodeTxt = node.innerHTML;

node.innerHTML = "";

var textArea = document.createElement('textArea');

textArea.setAttribute('id',nodeId);

var newTxt=" "

var temp = nodeTxt.split("<br>");

for(var i=0;i<temp.length;i++){

  if(i < temp.length-1){

  newTxt += temp+"{ls}";

  }

  else{

  newTxt += temp;

  }

}

textArea.setAttribute('rows','10');

textArea.setAttribute('onblur','saveuserinfo('+uid+',this.value)');

textArea.value = newTxt;

node.parentNode.replaceChild(textArea,node);

 

}

 

 

 

EDIT Fant ut av <br> feilen.. <br> opptrer som <BR> i ie og opera.. men klarer likevel ikke å kjøre onblur i ie (opera går bra.. men bluren må være langt unna)

Endret av idos
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...