vyskakujuse okno ze do <input> nevlozil text

Programovacie jazyky, rady, poradňa...
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

vyskakujuse okno ze do <input> nevlozil text

Príspevok od používateľa geoge046 »

Ahojte, nepomohol by mi niekto urobit vyskakujuce okno ked niekto nezada potrebne informacie do <input> a stlaci odoslat? Prosim po lopate. :oops:
lama2d
VIP
VIP
Príspevky: 1006
Registrovaný: 24 feb 2005, 14:54
Bydlisko: PostgreSQL

Príspevok od používateľa lama2d »

Napríklad takto:

Kód: Vybrať všetko

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>skuska javascriptu</title>
<script language="javascript">
<!--
function checkform()
{
var retval
retval = true
 if (document.all['name'].value == "")
    {
    alert("Nevyplnil si meno!");
    document.all['name'].focus();
    retval = false;
    }
return retval;
}
-->
</script>
</head>

<body>
<form method="post" action="zpracuj.php" onsubmit="return checkform();">
<input type="text" name="name" value=""/>
<input type="submit" value="OK">
</form>
</body>
</html>
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Alebo trochu inak:

Kód: Vybrať všetko

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
<!--
function formverify()
{
	var text = document.myform.meno.value;

	if (text == "") {
		alert("Musite zadat meno.");
		document.myform.meno.focus();
		return false;
	}
	
	return true;
}
// -->
</script>
</head>
<body>

<div>

<form name="myform" action="www.test.a" method="post" onsubmit="return formverify()">
Meno:<input type="text" name="meno">
<input type="submit">
</form>

</div>

</body>
</html>
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

Príspevok od používateľa geoge046 »

a ked chcem napriklad aby v policku boli iba cisla.tak to ako? :?:
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

pocuj geoge. googlil si ty vobec trochu, alebo cakas ze ti to vsetko napise niekto tu? tak laskavo nebud lenivy a googli :x
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Musíš napísať, čo potrebuješ dosiahnuť. :) Potom ti budem vedieť pomôcť lepšie (dá sa urobiť aj elegantnejší skript, len musím vedieť, čo chceš testovať). Tu je ukážkový skript:

Kód: Vybrať všetko

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
<!--

function isEmpty(str)
{
	for (var i = 0; i < str.length; i++) {
		if (" " != str.charAt(i))
			return false;
	}
	return true;
}

function checkNumeric(value)
{
	pattern = /^ *[0-9]+ *$/;
	return pattern.test(value);
}

function formValidate(form)
{
	if (isEmpty(form.number.value)) {
		form.number.focus();
		alert("Číslo nemôže byť prázdne");
		return false;
	}
	if (checkNumeric(form.number.value) == false) {
		form.number.focus();
		alert("\"" + form.number.value + "\"" + " nie je správny údaj");
		return false;
	} else {
		var number = parseInt(form.number.value);
		if (number < 1 || number > 20) {
			form.number.focus();
			alert("Číslo musí byť medzi 1 až 20");
			return false;
		}
	}
	return true;
}
// -->
</script>
</head>
<body>
<div>
	<form action="www.test.tst" method="get" onsubmit="return formValidate(this)">
		Číslo: <input type="text" name="number"><br>
		<input type="submit" name="snd" value="Poslať">
	</form>
</div>
</body>
</html>
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

Príspevok od používateľa geoge046 »

chrono napísal:Musíš napísať, čo potrebuješ dosiahnuť. :) Potom ti budem vedieť pomôcť lepšie (dá sa urobiť aj elegantnejší skript, len musím vedieť, čo chceš testovať).
No napriklad na nejakej stranke budem mat PSČ a tam majú byť iba číslice. V maili maju byt pouzite znaky ako "@" "." Takto to myslim v pripade na tieto dve veci. Vopred dakujem. :roll:
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Tu je PSČ:

Kód: Vybrať všetko

function	checkPSC(value)
{
	pattern = /^ *[0-9]{5} *$/;
	return pattern.test(value);
}

function formValidate(form)
{
	if (checkPSC(form.psc.value) == false) {
		form.psc.focus();
		alert("Musíte zadať PSČ");
		return false;
	}
	return true;
}
tag <input> bude

Kód: Vybrať všetko

<input type="text" name="psc">
A tu je Email:

Kód: Vybrať všetko

function checkEmail1(str)
{
	return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}

function checkEmail2(str)
{
	pattern = /^[^@]+@[^@]+.[a-z]{2,}$/i
	return pattern.test(str);
}

function formValidate(form)
{
	if (checkEmail2(form.email.value) == false) {
		form.email.focus();
		alert("Musíte zadať Email");
		return false;
	}
	return true;
}
<input>:

Kód: Vybrať všetko

<input type="text" name="email">
Testovať správnosť emailovej adresy je dosť zložitý problém. Aby to bolo celkom presné, muselo by to byť dosť zložité.
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

Príspevok od používateľa geoge046 »

lama2d napísal:Napríklad takto:

Kód: Vybrať všetko

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>skuska javascriptu</title>
<script language="javascript">
<!--
function checkform()
{
var retval
retval = true
 if (document.all['name'].value == "")
    {
    alert("Nevyplnil si meno!");
    document.all['name'].focus();
    retval = false;
    }
return retval;
}
-->
</script>
</head>

<body>
<form method="post" action="zpracuj.php" onsubmit="return checkform();">
<input type="text" name="name" value=""/>
<input type="submit" value="OK">
</form>
</body>
</html>
No a ked chcem tu pridat viac polí??? :roll:
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Tak to checkform bude zložitejšie:

Kód: Vybrať všetko

function checkform() 
{ 
  if (document.all['name'].value == "") { 
    alert("Nevyplnil si meno!"); 
    document.all['name'].focus(); 
    return false;
  } 
  
  if (document.all['psc'].value == "") {
    alert("Nevyplnil si PSC");
    document.all['psc'].focus();
    return false;
  }
  return true;
}
Napísať odpoveď