Avatar billede nyp Nybegynder
23. december 2005 - 09:39 Der er 3 kommentarer og
1 løsning

Bug i FireFox??

Jeg har har lavet et lille script, til at oprette form felter insat i en tabel, dynamisk, scriptet virker fint i ie og opera men ikke i FF, de mystiske er at hvis man laver en Ctrl a på siden og smider det over i feks Frontpage, så ligger formen der, den vises blot ikke  i FF.

html siden:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1;">
<META HTTP-EQUIV="CONTENT-LANGUAGE" CONTENT="dk">
<title>Form test</title>
</head>
<script language="JavaScript1.2" src="form.js" type="text/javascript"></script>
<script type="text/javascript">

function start()
{
  var cont = document.getElementsByTagName("body")[0];
  oForm = new eForm();
  myForm = oForm.formType("get","index.php","formNavn");
  oForm.inputType("text","inputNavn","værdi","Label text");
  oForm.inputType("submit","oSubmit","Submit","");
  cont.appendChild(myForm);
}

onload=start;
</script>

<body>
</body>
</html>

------------------------
Form scriptet:

// eForm = new eForm();
// eForm.tabel = true/false;
  var eForm = function(){
}

// eForm.formType("POST:GET","index.php","formNavn");
eForm.prototype.formType = function( methodValue, actionValue, nameValue)
{
  this.formObj = document.createElement("form");
  this.formObj.setAttribute("action",actionValue);
  this.formObj.setAttribute("name",nameValue);
  this.formObj.setAttribute("method",methodValue);

  this.table = document.createElement("table");
  this.table.id ="noteTable";
  this.tablebody = document.createElement("tbody");
  this.tablebody.appendChild(this.formObj);
  this.table.appendChild(this.tablebody);
  return this.table;
}

// eForm.inputType("text:hidden:file:checkbox:radio:button:submit:reset:image","inputNavn","værdi","Label text");
// eForm.inputObj.tabindex = 1;
eForm.prototype.inputType = function(typeValue,  nameValue, valueValue, label)
{
  this.inputObj = document.createElement("input");
  this.inputObj.setAttribute("type",typeValue);
  this.inputObj.setAttribute("name",nameValue);
  this.inputObj.setAttribute("id",nameValue);
  this.inputObj.value=valueValue;

  this.tr =  document.createElement("tr");
  this.td1 =  document.createElement("td");
  this.oText  = document.createTextNode(label);
  this.label =  document.createElement("label");
  this.label.appendChild(this.oText);
  this.label.setAttribute("for",nameValue);
  this.td1.appendChild(this.label);
  this.tr.appendChild(this.td1);
  this.td2 =  document.createElement("td");
  this.td2.appendChild(this.inputObj);
  this.tr.appendChild(this.td2);
  this.formObj.appendChild(this.tr);
  return this.tr;
}
Avatar billede Slettet bruger
24. december 2005 - 06:23 #1
Det skyldes ikke så meget en bug i FF, som det faktum at din HTML ikke er legal. Du kan ikke have et FORM element direkte i din TBODY. FF genererer faktisk den HTML du opbygger det er bare ikke på en form den kan vise.

Du skal flytte dit FORM-element udenfor tabellen så fungerer det.
Avatar billede nyp Nybegynder
24. december 2005 - 11:50 #2
Of course!, jeg kunne heller ikke forstå der skulle være fejl i FF :)

Tak, og glædelig jul.
Avatar billede olebole Juniormester
24. december 2005 - 12:28 #3
<ole>

*LooL* FF er desværre fyldt med fejl - det er bare ikke politisk korrekt at nævne det  ;D

Ifølge Symantec har FF en stor del af 2005 således ligget foran IE med hensyn til sikkerhedshuller ... på den ufede måde.

Desuden er dens DOM-håndtering helt elendig, da ingen DOM-processer valideres i forhold til standarderne. Du kan således indsætte div, tabeller og hvad somhelst i et input-, option- eller hvilket element, du nu har lyst til  :o|
Desværre afsløres det ikke, når man spørger på body-elementets innerHTML, da denne property heller ikke er til at stole på i FF.

At der ikke står 'Microsoft' i About-dialogen, er langtfra nogen garanti for kvalitet. FF er ligeså dårlig som IE - og til tider langt værre - blot på lidt andre områder  ;o)
Der kommer sikkert til at gå mange Juleaftner, før vi får en browser, der håndterer bestående standarder bare nogenlunde tilfredsstillende  *<|;o)

/mvh
</bole>
Avatar billede nyp Nybegynder
24. december 2005 - 15:10 #4
Håbet er jo lysegrønt!
Lidt alvor: Så synes jeg dog det nærmer sig, at man kan lave noget fornuftig i js, uden at skulle lave speciel kode til forskellige browsere, men ja der er desværre langt igen til den perfekte browser, hvis den nogensinde kommer.

http://www.w3.org/DOM/Test/ får ff dog lang færre fejl end ie, uden at jeg dog skal gøre mig alt for klog på det, så kan jeg se mange fordele ved ff, om ikke andet kunne det måske få Microsoft til at tænke lidt over det, men som sag håbet er jo lysegrønt!

God Jul

/Karsten
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester