dinamik olarak eklenen metin javascript php olsun değer

3 Cevap php

Ben dinamik bir metin kutusu oluşturmak için bu kullanıyorum: `

<html>
<head>
<title>Dynamic Form</title>
<script type="text/javascript" >
function CreateTextbox()
{
var i = 6;
createTextbox.innerHTML = createTextbox.innerHTML +"<input type=text name='flow'+ i/>"
i++;
}
</script>
</head>
<body>

<form name="form" action="post" method="">
<input type="button" value="clickHere" onClick="CreateTextbox()">
<div id="createTextbox"></div>
</form>
</body>

nasıl ben eklenen metin kutusuna değer alabilir miyim?

Ben javascript ve php kullanıyorum.

3 Cevap

Metin için oluşturulan kimliği ekleme ve giriş almak için bu kimliği kullanabilirsiniz

function CreateTextbox()
{
  var i = 6;
  createTextbox.innerHTML = createTextbox.innerHTML +"<input type=text name='flow'+ i id='box'+i/>"
  i++;
}

function getBox(var id){
  return document.getElementById("box"+i);
}

adını ayarlamak = "akış []" yani ['akış'] sadece $ _POST kullanarak bir dizi olarak tüm değerleri alabilirsiniz

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.