webForumDet fria alternativet

DOM problem

5 svar · 223 visningar · startad av Jacob

JacobMedlem sedan dec. 2000503 inlägg
#1

är det någon som vet varför inte detta fungerar:

function hej(){
var nyrad = document.createElement('tr');
var nykolumn = document.createElement('td');
var input = document.createElement('input');
var table = document.createElement('table');
input.type='text';
input.name='box'+n;
nykolumn.appendChild(input);
nyrad.appendChild(nykolumn);
table.appendChild(nyrad);
body.appendChild(table);
}

------------------
ja©ob

JojoxxMedlem sedan juni 20004 306 inlägg
#2
function hej(){
var nyrad = document.createElement('tr');
var nykolumn = document.createElement('td');
var input = document.createElement('input');
var table = document.createElement('table');
input.type='text';
input.name='box'[b]+n[/b];
nykolumn.appendChild(input);
nyrad.appendChild(nykolumn);
table.appendChild(nyrad);
[b]body[/b].appendChild(table);
}

* n är inte definierad i exemplet.
* body är inte definierad.

var body=document.getElementById('foo');

om <body id="foo">

Så fungerar det i Mozilla 0.9.7 iaf.

------------------
/ J

JacobMedlem sedan dec. 2000503 inlägg
#3

Jag hade definigerat dom jojox men jag fick det att fungera ändå, jag hade glömt tbody menmen, nu till ett annat problem:

jag vill att den ena text inputen har en onkeyup funktion men jag får det inte att fungerar:

function ny_rad()
{
		//skapar variabler
		var tr = document.createElement('tr');
		var td = document.createElement('td');
		var td01 = document.createElement('td');
		var input = document.createElement('input');
		var input01 = document.createElement('input');
		var tbody = document.getElementById('tabellen').firstChild;
		var table = document.getElementById('tabellen');		
		//varor
		var select = document.createElement('select');
		var option1 = document.createElement('option');
		var option2 = document.createElement('option');
		var option3 = document.createElement('option');
		var option4 = document.createElement('option');
		var vara1 = document.createTextNode('Välj en vara');
		var vara2 = document.createTextNode('Nokia 6310');
		var vara3 = document.createTextNode('Ericsson t39m');
		var vara4 = document.createTextNode('Ericsson t68');
		
		//lägger till några egenskaper
		select.name='vara'+n;
		input.type='text';
		input.name='vad'+n;
		input01.type='text';
		input01.name='antal'+n;
		input01.size='3';
		[b]input01.onkeyup='ny_rad()';[/b]
		select.id='id'+n;
		
		
		//Lägger till en nyr rad
		option1.appendChild(vara1);
		select.appendChild(option1);
		option2.appendChild(vara2);
		select.appendChild(option2);
		option3.appendChild(vara3);
		select.appendChild(option3);
		option4.appendChild(vara4);
		select.appendChild(option4);
		td.appendChild(select);
		td01.appendChild(input01);
		tr.appendChild(td);
		tr.appendChild(td01);
		tbody.appendChild(tr);
		table.appendChild(tbody);
		document.getElementById('id'+n).focus();
		++n;
}

Den raden som är fett är det, men det händer inget.

------------------
ja©ob

JojoxxMedlem sedan juni 20004 306 inlägg
#4
input01.setAttribute("onKeyup", "ny_rad();");

------------------
/ J

JacobMedlem sedan dec. 2000503 inlägg
#5

Det händer ingenting tyvärr. ;(

------------------
ja©ob

JojoxxMedlem sedan juni 20004 306 inlägg
#6

Kanske något fel i funktionen ny_rad()? Ovanstående fungerar i Mozilla (har testat 0.9.5 och 0.9.7).

------------------
/ J

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