Najpierw kod, później wyjaśnię problem.
//FUNCTION TO ADD TEXT BOX ELEMENT
function addElement(nu) {
var contentID = document.getElementById("content-str");
var divs=contentID.getElementsByTagName('DIV');
if (divs.length<nu){
var newTBDiv = document.createElement("div");
newTBDiv
.onclick
=function(){ current=this
; } newTBDiv.innerHTML = "<label></label><br/><input type='text' ><br/><br/><label></label><br/><textarea></textarea><br/><input type='button' onclick='removeElement(this)' value='Usuń tą podstronę' style='float:right'><br/><br/>";
contentID.appendChild(newTBDiv);
ids(contentID);
}
}
function ids(contentID){
var divs=contentID.getElementsByTagName('DIV');
var nu=divs.length;
for (var ip,nip,z0=0;z0<divs.length;z0++){
divs[z0].id='strText'+(z0+1);
ip=divs[z0].getElementsByTagName('INPUT')[0];
nip=zxcFormField('INPUT','tytul'+(z0+1),'text');
nip.id='tytul'+(z0+1);
nip.value=ip.value;
nip.style.width='600px';
divs[z0].replaceChild(nip,ip);
ip=divs[z0].getElementsByTagName('TEXTAREA')[0];
nip=zxcFormField('TEXTAREA','tresc'+(z0+1));
nip.id='tresc'+(z0+1);
nip.value=ip.value;
nip.cols='20';
nip.rows='7';
nip.style.width='600px';
nip.style.height='160px';
divs[z0].replaceChild(nip,ip);
ip=divs[z0].getElementsByTagName('LABEL');
ip[0].innerHTML='Tytuł podstrony nr '+(z0+1);
ip[1].innerHTML='Treść podstrony nr '+(z0+1);
}
}
function zxcFormField(tag,nme,type){
var el;
try {
el=document.createElement('<'+tag+(type?' type='+type:'')+' name='+nme+' >');
}
catch (e){
el=document.createElement(tag);
if (type) el.type=type;
el.name=nme;
}
return el;
}
//FUNCTION TO REMOVE TEXT BOX ELEMENT
function removeElement(obj) {
while(obj.parentNode&&obj.nodeName.toUpperCase()!='DIV'){
obj=obj.parentNode;
}
var contentID = document.getElementById("content-str");
if(contentID.getElementsByTagName('DIV')[1]&&obj.nodeName.toUpperCase()=='DIV') {
contentID.removeChild(obj);
}
ids(contentID);
}
Skrypt po kliknięciu "dodaj podstronę" dodaje DIV w którym jest input typu text, textarea oraz przycisk usuwający dodaną podstronę. Nadaje im NAME oraz ID kolejno:
dla pola input: tytul[nr kolejny]
dla pola textarea: tresc[nr kolejny]
Nie nadaje natomiast sesji... Tak więc pytanie pierwsze do experta: Jak w tym skrypcie dodać do tego sesję dla:
['myForm']['tytul(nr kolejny)'] - input
['myForm']['tresc(nr kolejny)'] - textarea
Pytanie drugie: skrypt pozwala usuwać dodane DIV'y, ale tylko drugi, trzeci, czwarty itd... Pierwszego usunąć nie można. Podejrzewam, że to jakaś błahostka, może to ktoś naprawić?