createTextbox.innerHTML = createTextbox.innerHTML + ""
Sizin tırnak yanlış yerdesiniz, '+ i' aslında değişmez dize parçasıdır! Ne demek oldu:
'<input type="text" name="flow'+i+'" />'
(Ayrıca type özniteliği için tırnak eklendi: sen de düzgün yapmak olabilir XHTML sözdizimini kullanmak için gidiyoruz eğer.)
Daha sonra komut gönderilen 'flow6' gibi form denetimi adlarını almak istiyorum. PHP kullanıcıları için daha olağan şekilde adı köşeli parantez koyarak yapmak için PHP ikna olabilecek bir dizi kullanmak olacaktır:
'<input type="text" name="flow['+i+']" />'
Ayrıca eksik gibi görünüyor:
var createTextbox= document.getElementById('createTextbox');
Global değişkenler haline adlandırılmış öğeleri dönüm IE aksaklığı güvenmeyin; başka bir yerde çalışmaz.
Her neyse, innerHTML için ekleme kaçının. Bunu her zaman, createTextbox içindeki her şey labouriously geri nesneler içine tüm ayrıştırma, o zaman dize değiştirmek ve geri yazmak, HTML bir stringful serileştirilir olacak. Süreçte böyle JavaScript referanslar ve olay ciltleri gibi HTML için seri olamazdı şey kaybedersiniz.
Eğer innerHTML tek bir yazma yapmak, ya da öğeleri oluşturmak için DOM yöntemlerini kullanabilirsiniz varsa, bu genellikle daha iyi.