Autor | Zpráva | ||
---|---|---|---|
gerix Profil * |
#1 · Zasláno: 20. 3. 2011, 11:50:22
Dobrý den,
v javascriptu začínám a potřeboval bych poradit s nejspíše triviálním problémem. Mám script, který po zmáčknutí tlačítka přidá položku (ID, textove pole, tlačítko smazat). Script je omezený na přidání nejvýše 5 položek a nejvyžší id může být 5. Teď k problému. Chtěl bych tam dodělat menší vylepšení. Dejme tomu, že uživatel klikne na přidat, vyplní první textové pole a přidá další položku. No a já bych chtěl, aby při přidání dalšího textového pole se původní text, který vyplnil v první položce změnil na "klasický text" => to znamená, aby se z textového pole stal obyčejný text. A v případě, že by náhodou chtěl upravit tu původní položku, tak aby tam bylo tlačítko, kterým by vyvolal zpět textové pole a mohl to upravit. Doufám, že jsem to vysvětlil smysluplně:) Díky za každou radu. Tady je odkaz na živou ukázku: Odkaz Tady je náhled jak bych chtěl, aby to vypadalo Tady je kompletní script: <script> addEvent=function() { if(addEvent.elmCount >= addEvent.maxNodes) { return false; } addEvent.elmCount++; var nejmensiCislo=1; for(var i=1;i<=addEvent.maxNodes;i++) if(!document.getElementById("my"+i+"Div")){nejmensiCislo=i;break} var ni = document.getElementById('myDiv'); var numi = document.getElementById('theValue'); var num = (document.getElementById("theValue").value -1)+ 2; numi.value = num; var divIdName = "my"+nejmensiCislo+"Div"; var newdiv = document.createElement('div'); newdiv.id=divIdName; newdiv.innerHTML = "ID:" + nejmensiCislo + " přidáno! <input type=\"text\"> <a href=\"javascript:;\" onclick=\"removeElement(\'"+divIdName+"\')\">Vymazat pole ID:" + nejmensiCislo + "</a>"; ni.appendChild(newdiv); } addEvent.elmCount = 0; addEvent.maxNodes = 5; removeElement=function(divNum) { var d = document.getElementById('myDiv'); var olddiv = document.getElementById(divNum); d.removeChild(olddiv); addEvent.elmCount--; } </script> <input type="hidden" value="0" id="theValue" /> <p><a href="javascript:;" onclick="addEvent();">Přidat</a></p> <div id="myDiv"> </div> |
||
Pospyrus Profil |
#2 · Zasláno: 20. 3. 2011, 12:12:18
obal to spanem a pak tam přes innerHTML dej ten text z inputu:
<span id=\"span-input" + nejmensiCislo + "\"><input id="\input" + nejmensiCislo + "\" type=\"text\"></span> document.getElementById("span-input1").innerHTML=document.getElementById("input1").value; a po kliknutí na edit udělej opak: document.getElementById("span-input1").innerHTML="<input id="input1" type=\"text\" value=\""+document.getElementById("span-input1").innerHTML+"\">"; |
||
gerix Profil * |
#3 · Zasláno: 20. 3. 2011, 12:52:51
Pospyrus:
Nemohl by jsi mě prosím navést ještě blíž? Zkouším to, ale nějak mi to nechce fungovat:( |
||
gerix Profil * |
#4 · Zasláno: 20. 3. 2011, 17:36:16
Zkusím se zeptat trošku jinak? Byl by ochotný to někdo nakódovat? upravit stávající kód podle mých představ? Pokud ano... za kolik?:)
|
||
Časová prodleva: 13 let
|
0