Autor Zpráva
gerix
Profil
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
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>

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: