Autor Zpráva
gardener
Profil
Zdravim, chtel bych se zeptat, jak by se dalo pomoci Jquery, nebo JS zablokovat vsechna pole ve formulari, po jeho odeslani?
Tzn. vsechna pole ve formu naraz, nebo musim blokovat jednotliva pole samostatne?
Dekuji za jakoukolliv radu.

Moderátor Chamurappi: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
Chamurappi
Profil
Reaguji na gardenera:
jak by se dalo pomoci Jquery, nebo JS
I jQuery je JS.

nebo musim blokovat jednotliva pole samostatne?
Ano. Všechny formulářové prvky jde snadno zablokovat cyklem:
for(var i = 0, e; e = formulář.elements[i]; i++) e.disabled = true;

Háček je v tom, že když je zablokuješ už při události onsubmit, tak se ani neodešlou. Zkusil bych počkat milisekundu:
function nastavitZablokovani(f)
{
  f.onsubmit = function()
  {
    setTimeout(function()
    {
      for(var i = 0, e; e = f.elements[i]; i++) e.disabled = true;
    }, 1);
  };
}
nastavitZablokovani(document.jménoFormuláře);
Možná to bude zlobit — v tom případě prodluž čekání u toho setTimeoutu.
_es
Profil
Chamurappi:
Zkusil bych počkat milisekundu
Čo ak sa to v tej milisekunde ešte neodošle?
Metóda submit vraj udalosť onsubmit nevyvolá, tak by to snáď išlo takto:
formulár.onsubmit = function(){
  this.submit();
  for(var i = 0, e; e = this.elements[i]; i++) e.disabled = true;
  return false;
}

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