Autor Zpráva
wise
Profil
Dobrý den,

mám funkci v JS, která se zavolá (addNewInput) při kliknuté na tlačítko.
Po kliknutí se přidá nový input type text a checkbox.

Funguje v Opeře, ale v Mozille se mu nechce.

Nevíte, kde je problém?
Děkuju

var pocet = 1;
function addNewInput(e)
{
pocet++;
// LI element
newLi = document.createElement("li");
newLi.id = "li" + pocet;
// INPUT element
newInput = document.createElement("input");
newInput.type = "file";
newInput.name = "fupload[]";
newInput.style = "border: 1px solid rgb(82,112,166); margin-top: 1px;";
// A element
newLink = document.createElement("a");
newLink.href = "javascript:removeInput(" + pocet + ");";
newLink.setAttribute('class', 'adminmenu' );
newLink.style = "color: black;";
newLink.innerHTML = "Smazat";
// CHECKBOX
newCheck = document.createElement("input");
newCheck.type = "checkbox";
newCheck.name = "add_to_download[]";
newCheck.style = "border: 1px solid rgb(82,112,166); margin-top: 1px;";
// Complete new element
newLi.appendChild(newInput);
newLi.innerHTML += " ";
newLi.appendChild(newCheck);
newLi.appendChild(newLink);
// Add to page
document.getElementById(e).appendChild(newLi);
}

// Remove DIV element containig INPUT and A elements
function removeInput(id) {
pInput = document.getElementById('li' + id);
pInput.parentNode.removeChild(pInput);
}
function visibleAnswers(e) {
//Elements default
var defaultAnswers = 2;
for (i = 1; i <= defaultAnswers; i++) {

newLi = document.createElement("li");
newLi.id = "li" + i;

newInput = document.createElement("input");
newInput.type = "file";
newInput.id = "o[]";
newInput.name = "o[]";

newCheck = document.createElement("checkbox");
newCheck.type = "checkbox";
newCheck.id = "ch[]";
newCheck.name = "ch[]";

newLi.appendChild(newCheck);
newLi.appendChild(newInput);
newUl.appendChild(newLi);
}
document.getElementById(e).appendChild(newUl);
}
_es
Profil
Kód sa dá označiť ako kód (tlačítko ), okrem prehľadnejšieho kódu to má aj iné výhody.
Problém bude asi v riadku:
newLink.setAttribute('class', 'adminmenu' );
treba ho nahradiť za:
newLink.className = 'adminmenu';

A id by malo byť pre každý prvok rozdielne a asi by bolo lepšie zaobísť sa bez innerHTML.

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:

Prosím používejte diakritiku a interpunkci.

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

0