Autor Zpráva
Petre
Profil *
Ahoj, mám formulář ošetřený javascriptem proti jeho prázdnosti. Problém je, že i když je vyplněný tak se napoprvé neodešle (Chyby ve formuláři - Jedna z povinných položek nebyla vyplněna!). Pokud dám znovu odeslat tak se už odešle v pořádku...

<form method="post" action="" onsubmit="return aktuality();">
                  <div>
                		<div>
                		  <strong>Titulek:</strong><br>
                		  <input type="text" name="titulek" id="titulek" onfocus="fokus('titulek')" ><br><br>
                		  <strong>Úvod:</strong><br>
                		  <textarea name="uvod" cols = "5" rows="3" id="uvod" onfocus="fokus('uvod')"></textarea><br>
                		  <strong>Aktualita:</strong><br>
                			<textarea name="aktualita" cols = "5" rows="15" id="aktualita" onfocus="fokus('aktualita')"></textarea>
              	  	</div>
             	      <br>
            		    <input  type="submit" name="odeslat" value="Vložit">
            	   </div>
               </form>



Javascript
function aktuality() {
   var hlaska=true;
   
   if(document.getElementById('titulek').value== ""){
     hlaska=false;
     document.getElementById('titulek').style.border = '1px solid red';
   }
   
   if(document.getElementById('uvod').value== ""){
     hlaska=false;
     document.getElementById('uvod').style.border = '1px solid red';
   }
   
   if(document.getElementById('aktualita').value== ""){
     hlaska=false;
     document.getElementById('aktualita').style.border = '1px solid red';
   }

  if (hlaska) {
    alert ("Aktualita bude v pořádku odeslána.");
    return true;
  }
  else {
    alert ("Chyby ve formuláři - Jedna z povinných položek nebyla vyplněna!");
    return false;
  }
  }
denCo
Profil
Nepoužívaj na ošetrenie JS, použi radšej PHP, lebo JS si v prehliadači môže každý vypnúť
Petre
Profil *
denCo:
Na ošetření používám javascript i php...
fajzen
Profil
V tom, čo si uviedol, chybu nevidím, takže bude asi v tom, čo si neuviedol... najlepšie by bolo uviesť odkaz na živú ukážku, ak sa dá
Petre
Profil *
Zivou ukazku bohuzel zatim nemohu ukazat. Spis nechapu jak to muze byt mozne. Prece jenom pro javascript je dulezity jen tento formular a ne zbytek kodu... Jeste uvedu, ze pouzivam tinyMCE (uvod, aktualita). Pri prvnim odesilani vzdy naskoci chyba a pak uz to jde...
Chamurappi
Profil
Reaguji na denCa:
Nepoužívaj na ošetrenie JS
To je celkem hloupá rada. Přítomnost kontroly na straně klienta nevylučuje kontrolu i na straně serveru a ničemu neškodí.


Reaguji na Petre:
Spis nechapu jak to muze byt mozne.
Bez ukázky můžeme nechápat společně.

Jeste uvedu, ze pouzivam tinyMCE (uvod, aktualita).
To je nejspíš příčina. WYSIWYG editory neběží uvnitř <textarea>, vyrábějí si vlastní složitější konstrukci vedle a až později plní neviditelnou <textareu>. Při tvé první kontrole je zřejmě <textarea name="aktualita"> opravdu prázdná.
Petre
Profil *
Chamurappi:
Díky a jde to i přesto nějak ošetřit?
Chamurappi
Profil
Reaguji na Petre:
Pravděpodobně ano. Zkus prohledat dokumentaci k tinyMCE.

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