| Autor | Zpráva | ||
|---|---|---|---|
| gerix Profil |
#1 · Zasláno: 24. 3. 2011, 09:38:20
Ahoj, chtěl bych se zeptat, jakým způsobem napíšu podmínku do tohoto scriptu, aby se mi nevypsalo třeba ID 3.
Je to script na přidávání polí ve formuláři. Je omezený na 1 až 5 (ID) a maximální ID je nejvíce 5 Chtěl bych to omezit nějakou jednoduchou proměnnou, aby mi to třeba navypsalo ID 3,4 (dle potřeby) šlo by to nějak? díky za odpovědi...
<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>
|
||
| TomasJ Profil |
#2 · Zasláno: 24. 3. 2011, 13:27:16 · Upravil/a: TomasJ
Formulaci tvého dotazu moc nechápu, zkus to „Chtěl bych to omezit nějakou jednoduchou proměnnou, aby mi to třeba navypsalo ID 3,4 (dle potřeby)“ vysvětlit nějak lépe.
EDIT: Na přidávání formulářových políček jsem si udělal pro vl. potřebu skript:
/* Definuji Inputs a maxInputs */
var Inputs = 0; //Aktuálně inputů 0;
var maxInputs = 10; //Max 10 inputů
/* Vytvoření inputu */
function AddInput()
{
if(Inputs < maxInputs)
{
Inputs++;
var div=document.createElement('div');
var txt=document.createTextNode('\n');
var setid = Math.round(Math.random()*999999999999999);
div.id="row"+setid;
div.innerHTML='<input size="50" name="neco[]" type="text">';
div.innerHTML+=' <a href="javascript:void(0);" onclick=\'deleteRow("row'+setid+'");\'>Smazat</a>';
document.getElementById("inputy").appendChild(div);
document.getElementById("inputy").appendChild(txt);
}
else{return alert("Více souborů vložit nemůžete (max. "+maxInputs+" souborů)!");}
}
/* Zničení inputu */
function deleteRow(id)
{
if(Inputs>1)
{
Inputs--;
document.getElementById('inputy').removeChild(document.getElementById(id));
}
}HTML pak vypadá takto: <body onload="AddInput();"> <div id="inputy"></div> </body> |
||
|
Časová prodleva: 15 let
|
|||
0