Autor Zpráva
kozusnik.jan
Profil *
Ahoj. Potřeboval bych kontrolu formuláře pomocí JavaScriptu, ať tolik nezaťežuji server PHPečkem.
Mám tento zdrojový kód, který kontroluje zda jsou vyplněna pole:
<script language=\"JavaScript\"><!--
function validace(formular) {
  if(formular.nazev.value=='') {
  alert('Musíte vyplnit vaše jméno!');
  return false;
  }
  else if  (formular.adresa.value=''){
  alert('Musíte vyplnit adresu!!');
  formular.adresa.focus();
  return false;
  }
    else if  (formular.popis.value=''){
  alert('Musíte vyplnit popis!!');
  formular.popis.focus();
  return false;
  }
    else if  (formular.text.value=''){
  alert('Musíte vyplnit text!!');
  formular.text.focus();
  return false;
  }

}
Problém je v tom, že já JavaScriptu vůbec nerozumím, a tak ani nevím, jak ho zakomponovat do formuláře a popřípadě to udělat tak, ať, když jsou v pořádku splněny všechny podmínky, tak ať mi to odešle data přes PHP. Zde ještě uvádím zdrojový kód formuláře a PHP. Ale nevím, zda ten kód PHP skriptu bude k něčemu dobrý:-)
<form action="uprava_tvorba_souboru.php" method="post">

<input type="text" name="nazev" />Název souboru<br />
<input type="text" name="adresa" />Adresa . <select name="pripona">
                                            <option value="html"> HTML
                                            <option value="php" > PHP<br />
                                            </select>
                                            <br />
                                            
<input type="text" name="popis" />popis

<textarea name="text" cols="100">Text stránky</textarea>  <br />
<input type="submit" name="ok" value="Vytvorit" />
<?php
$spojeni = mysql_connect("localhost", "root");
mysql_select_db("pokus");
 if(isset($_POST['ok'])) {
  
   
 	  switch($_POST['pripona']) {
	  case "html" : $adr = $_POST['adresa'].".html" ; 
	    break;
	  case "php" :  $adr = $_POST['adresa'] .".php" ;   
	  break;
	  }
 $chyba = kontrola($_POST['nazev'], $_POST['adresa'], $_POST['popis'], $_POST['text'], $_POST['pripona']);
  if(!$chyba){ 
      
   /*  if($_POST['nazev'] && $_POST['adresa'] && $_POST['popis'] && $_POST['text'] && $_POST['pripona']){  */
    if(!file_exists($_POST['nazev'])){ 
	   
	   $fp = file_put_contents($adr, $_POST['text']); 

	   
		$nazev=mysql_real_escape_string($_POST['nazev']);
        $adr=mysql_real_escape_string($adr);
        $popis=mysql_real_escape_string($_POST['popis']);
        $sql = "insert into soubory (jmeno, odkaz, popis) values ('$nazev', '$adr', '$popis')";
        $res = mysql_query($sql);
        
	  }
 } else echo $chyba;
 ?>

Moc dík za rady
Keeehi
Profil
http://www.jakpsatweb.cz/javascript/formular-zruseni.html#nekdy
kozusnik.jan
Profil *
Dik. Nějak se s tím vypořádám :-)
kozusnik.jan
Profil *
Mno, zkouším to dělat podle toho návodu, ale pořád to nejde. Zdrojový kód momentálně vypadá takhle:
<script language=\"JavaScript\"><!--
function validace(formular) {
  if(formular.nazev.value=='') {
  alert('Musíte vyplnit vaše jméno!');
  return false;
  }
  else if  (formular.adresa.value=''){
  alert('Musíte vyplnit adresu!!');
  formular.adresa.focus();
  return false;
  }
    else if  (formular.popis.value=''){
  alert('Musíte vyplnit popis!!');
  formular.popis.focus();
  return false;
  }
    else if  (formular.text.value=''){
  alert('Musíte vyplnit text!!');
  formular.text.focus();
  return false;
  }

}  else return true;

</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Tvorba a uprava stranek</title>
</head>

<body>

<form action="uprava_tvorba_souboru.php" method="post" onsubmit="return validace(this)" >

<input type="text" name="nazev" value="" />Název souboru<br />
<input type="text" name="adresa" value="" />Adresa . <select name="pripona">
                                            <option value="html"> HTML
                                            <option value="php" > PHP<br />
                                            </select>
                                            <br />
                                            
<input type="text" name="popis" value="" />popis

<textarea name="text" cols="100" value="">Text stránky</textarea>  <br />
<input type="submit" name="ok" value="Vytvorit" />

Nevím, kde by mohla být chyba. Prosím poraďte
Nox
Profil
kozusnik.jan:
Potřeboval bych kontrolu formuláře pomocí JavaScriptu, ať tolik nezaťežuji server PHPečkem.
Nesmysl... JS kontrola se dělá kvůli pohodlí uživatele, ty skripty co píšeš mají na server míň než zanedbatelný dopad

else return true;

toto snad má být uvnitř funkce, tzn. o řádek výš

nainstaluj si FF addon Firebug, v jeho konzoli se pak vypisují chyby

Problém je v tom, že já JavaScriptu vůbec nerozumím
Začni se ho učit

tak ať mi to odešle data přes PHP
To se odesílá standardně, jako by tam ten skript nebyl, rozdíl se skriptem je, že můžeš odeslání zrušit. Takže ne že odešleš nebo neodešleš, ale že nezrušíš odeslání (return true) nebo zrušíš odeslání (return false)
kozusnik.jan
Profil *
Nox:
"To se odesílá standardně, jako by tam ten skript nebyl, rozdíl se skriptem je, že můžeš odeslání zrušit. Takže ne že odešleš nebo neodešleš, ale že nezrušíš odeslání (return true) nebo zrušíš odeslání (return false)"
JavaScript se chci začít učit. Teďka jsem se učil PHP a nebyl na to čas. Ale chtěl bych s tím začít.
"nainstaluj si FF addon Firebug, v jeho konzoli se pak vypisují chyby " nedá se sehnat něco jiného? Já totiž firefox nepoužívám

Nevšimli jste si, kde by mohla být ta chyba?
kozusnik.jan
Profil *
Tak už to mám. Dík

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: