Najpierw kod, później wyjaśnię problem.
  1. //FUNCTION TO ADD TEXT BOX ELEMENT
  2. function addElement(nu) {
  3. var contentID = document.getElementById("content-str");
  4. var divs=contentID.getElementsByTagName('DIV');
  5. if (divs.length<nu){
  6. var newTBDiv = document.createElement("div");
  7. newTBDiv.onclick=function(){ current=this; }
  8. 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/>";
  9. contentID.appendChild(newTBDiv);
  10. ids(contentID);
  11. }
  12. }
  13. function ids(contentID){
  14. var divs=contentID.getElementsByTagName('DIV');
  15. var nu=divs.length;
  16. for (var ip,nip,z0=0;z0<divs.length;z0++){
  17. divs[z0].id='strText'+(z0+1);
  18. ip=divs[z0].getElementsByTagName('INPUT')[0];
  19. nip=zxcFormField('INPUT','tytul'+(z0+1),'text');
  20. nip.id='tytul'+(z0+1);
  21. nip.value=ip.value;
  22. nip.style.width='600px';
  23. divs[z0].replaceChild(nip,ip);
  24. ip=divs[z0].getElementsByTagName('TEXTAREA')[0];
  25. nip=zxcFormField('TEXTAREA','tresc'+(z0+1));
  26. nip.id='tresc'+(z0+1);
  27. nip.value=ip.value;
  28. nip.cols='20';
  29. nip.rows='7';
  30. nip.style.width='600px';
  31. nip.style.height='160px';
  32. divs[z0].replaceChild(nip,ip);
  33. ip=divs[z0].getElementsByTagName('LABEL');
  34. ip[0].innerHTML='Tytuł podstrony nr '+(z0+1);
  35. ip[1].innerHTML='Treść podstrony nr '+(z0+1);
  36. }
  37. }
  38. function zxcFormField(tag,nme,type){
  39. var el;
  40. try {
  41. el=document.createElement('<'+tag+(type?' type='+type:'')+' name='+nme+' >');
  42. }
  43. catch (e){
  44. el=document.createElement(tag);
  45. if (type) el.type=type;
  46. el.name=nme;
  47. }
  48. return el;
  49. }
  50. //FUNCTION TO REMOVE TEXT BOX ELEMENT
  51. function removeElement(obj) {
  52. while(obj.parentNode&&obj.nodeName.toUpperCase()!='DIV'){
  53. obj=obj.parentNode;
  54. }
  55. var contentID = document.getElementById("content-str");
  56. if(contentID.getElementsByTagName('DIV')[1]&&obj.nodeName.toUpperCase()=='DIV') {
  57. contentID.removeChild(obj);
  58. }
  59. ids(contentID);
  60. }
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:
  1. ['myForm']['tytul(nr kolejny)'] - input
  2. ['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ć?