webForumDet fria alternativet

Firefox och input-fält skapade i Javascript

5 svar · 566 visningar · startad av Severian

SeverianMedlem sedan mars 20069 inlägg
#1

Hej!
Jag har ett problem där jag skapat ett antal <INPUT Type='TEXT'...> dynamiskt med Javascript. När jag postar formuläret så ska alla input-fält loopas genom och informationen ska sparas i en databas.
Detta funkar alldeles utmärkt i IE, dock inte i Firefox. :(

Den delen av Javascriptkoden som skapar INPUT-fältet ser ut såhär:

var altNr=document.getElementById("AntalAlternativ").value;
if (isIE) {
	td2.appendChild(document.createElement("<INPUT TYPE='TEXT' NAME='alt"+altNr+"' SIZE='70'>"));
} else {
	var oData;
	oData=document.createElement("INPUT");
	oData.name="alt"+altNr;
	oData.type="TEXT";
	oData.value="";
	oData.size=70;
	td2.appendChild(oData);
}

Detta är inte all kod, men en del av den...

I ASP-kode sedan så vill jag hämta värdet (texten) som matats in på följande sätt i en loop (därav i):

Request.Form("alt" & i)

Det fungerar i IE som sagt, men inte i Firefox. Den ger bara en tom textsträng. Rätt antal alternativ loopas genom, det vet jag.
Det verkar som den i ASP inte vill hitta input-taggen
Nån som kan hjälpa mig?

Peter SMedlem sedan dec. 20025 484 inlägg
#2

Hejsan!

Ett enkelt exempel som fungerar för mig:

function f()
{
  var elm = document.createElement("INPUT");
  elm.name = "alt0";
  elm.type = "text";
  document.forms[0].appendChild(elm);
}

<form>
  <input type="button" value="Add <input>" onclick="f()">
  <input type="submit">
</form>

Har du en länk till sidan som visar problemet?

SeverianMedlem sedan mars 20069 inlägg
#3

Kan inte länka till sidan, det är ett internprojekt.
Problemet är inte att input-textfälten inte dyker upp där de ska. Hela den biten fungerar som det ska.
Det är när man trycker på submit-knappen och postar formuläret och vill läsa in det som skrivits i de nya input-textfälten som det inte fungerar i Firefox, IE fungerar däremot.
Det verkar som att request.form("alt" & i) inte kan hitta de dynamiskt tillagda fälten. Kan detta bero på att jag använder <tbody>? Kan det vara så att den nästlar html-koden på ett sätt så den inte hittar dem? Nu spånar jag fritt... :)

Peter SMedlem sedan dec. 20025 484 inlägg
#4

Nu har jag ingen möjlighet att testa ovanstående exempel med serverkod, men om du kikar på kodsnutten i mitt förra inlägg ser du att det fungerar med GET-metoden.

Får du något felmeddelande i FF:s JS-konsol?

SeverianMedlem sedan mars 20069 inlägg
#5

Problemet är löst och det var så pinsamt att jag knappt vill skriva det här, men eftersom du tog dig tid att titta på det...
Form-taggen befann sig i en if-sats, och när jag flyttade ut den så funkade det.
Snälla, banna mig inte från forumet nu! :p

Peter SMedlem sedan dec. 20025 484 inlägg
#6

:birp

Glöm inte att markera ditt senaste inlägg som slutgiltigt.

Genererad på 376 ms · cache AV · v20260730165559-full.f96bc7eb