Autor Zpráva
JeremyCB
Profil
zdravim vsechny mel bych mensi dotaz mam tento script na testovani vypneneho formulare

function kontrola()
{
if (document.form.tema.value == "")
{
document.form.tema.focus();
alert ("Nezadali jste vaše téma");
return false;
}
if (document.form.name.value == "")
{
document.form.name.focus();
alert ("Nezadali jste vaše jméno");
return false;
}
if (window.RegExp)
{
re = new RegExp("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-z]{2,3}$");
if (!re.test(document.form.email.value))
{
alert("Zadaná adresa není správnou adresou elektronické pošty!");
return false;
}
}
}


a chtel jsem se zeptat jestli se da nejak udelat kdyz bych chtel tento script pouzit i na jinem formulari ktery je krome jedne polozky 'tema' stejny

me to totiz na tom druhem formulari nefunguje protoze mu vlastne ta prvni podminka chyby a on ho odesle
jestli existuje nejaka podminka ktera by otestovala zda ten intput vubec existuje

muzete nekdo pomoci dekuji
Ozzy
Profil
<script LANGUAGE="JavaScript">
function kontrola()
{
var ergebnis = true
if (document.mailer.jmeno.value=="")
{
alert("chybí jméno, nebo firma")
ergebnis=false
}
var email = document.mailer.email.value
var at_pos
if (email != "")
at_pos = email.indexOf("@")
else
at_pos = -1
if (at_pos < 0)
{
alert("e-mailová adresa není korektní: chybí @")
ergebnis = false
}
if (document.mailer.adresa_stavby.value=="")
{
alert("chybí adresa stavby")
ergebnis=false
}
return ergebnis
}
</script>



<input tabindex="1" type="text" size="30" name="jmeno" /> .. jméno / firma *<br />
<input type="text" size="30" name="adresa" /> .. adresa<br />
<input type="text" size="30" name="email" value="@" /> .. e-mail *<br />
<input type="text" size="30" name="mobli" value="+420" /> .. mobli<br />
<input type="text" size="30" name="telefon" value="+420" /> .. telefon / fax<br />
<input type="text" size="30" name="adresa_stavby" /> .. adresa stavby *


script: jmeno - email - adresa_stavby
JeremyCB
Profil
Dekuji kouknu na to vypada to dobre
peta
Profil *
Ozzy
vis, ale on ma spis problem ten, ze chce tentyz script pouzit na 2 ruzne formulare, kde mu uplne schazi treba prvni INPUT.

Ja trebas ted pouzivam script
/* form Registeration */
function f1Check(form)
{var p,p2,b,c,reg;b=1;c="";
p=form.userLogin.value;
if(p==""){b=0;c+="\nZadejte prosim udaj LOGIN!";}

p=form.userPsw1.value;
if(p==""){b=0;c+="\nZadejde prosim heslo, prvni udaj PASSWORD!"}

p2=p;
p=form.userPsw2.value;
if(p==""){b=0;c+="\nZadejte prosim overeni hesla, druhy udaj PASSWORD!";}
if(p!=p2){b=0;c+="\nHesla nejsou shodna, oba udaje PASSWORD!";}

p=form.userMail.value;
reg=new RegExp("@");
if(p==""){b=0;c+="\nZadejte prosim overovaci MAIL!";}
if(!reg.test(p)){b=0;c+="\nMail neobsahuje znak zavinac @!";}

if(!b){alert(c);}
return b?true:false;
//if (form.submit.action != "") {form.submit.disabled=1;}
}

<form name="f1" action="<?=$fn1?>zreg.php" method="post" enctype="multipart/form-data" onsubmit="return f1Check(this)">
<fieldset>
<legend><?=$lng['l_'.$where]?></legend>

<table align="center">
<tbody valign="top">
<tr> <td><b><?=$lng['i_Login']?></b></td>
<td><input type="text" value="<?=$_GET['userLogin']?>" name="userLogin" /></td></tr>
<tr> <td><b><?=$lng['i_Password']?></b></td>
<td><input type="password" value="<?=$_GET['userPsw1']?>" name="userPsw1" /></td></tr>
<tr> <td><b><?=$lng['i_Password']?></b></td>
<td><input type="password" value="<?=$_GET['userPsw2']?>" name="userPsw2" /></td></tr>
<tr> <td><b><?=$lng['i_Mail']?></b></td>
<td><input type="text" value="<?=$_GET['userMail']?>" name="userMail" /></td></tr>
<tr> <td><b><?=$lng['s_Lang'][0]?></b></td>
<td>
<?php
$t="\n".'<select name="userLang">';
foreach ($lng['s_Lang'][1] as $key => $value)
$t.="\n".'<option value="'.$key.'" '.(($key==$_GET['userLang'])?' selected="selected"':'').'>'.$value.'</option>';
$t.="\n</select>\n";
echo $t;
?>
</td></tr>
<tr> <td colspan="2"><?=$lng['i_Rules']?><br/>
<textarea rows="5" cols="40" readonly="readonly">444</textarea>
</td></tr>

</table>
<p align="center">
<input type="reset" value="<?=$lng['b_Reset']?>" class="butt" />
<input type="submit" value="<?=$lng['b_Submit']?>" class="butt" />
</p>
</fieldset>
</form>

... ktery mi vypise vsechny chybne polozky

A plati, co jsem rekl, pouzil bych 2 ruzne scripty.
Jinak by to slo rozlisit treba promennou...
function f1Check(form,aaa)
{
if (aaa==1) {zkontroluj mail}
{zkontroluj vse dalsi}
}
Ozzy
Profil
řídím se teorií, v jednoduchosti je síla. Raději umažu pár řádků, něco poopravím a je vařeno.

k mému příkladu (pro začátečníky):
if (document.mailer.jmeno.value=="") ..mailer..
...
<form name="mailer" method="post" action="...atd.
Ozzy
Profil
<form name="mailer" method="post" action="..." enctype="text/plain" onSubmit="return kontrola()" >

ať je to celé, sorry
JeremyCB
Profil
Me to funguje takto:


function kontrola()
{
var result=true;

if (Boolean(document.form.tema) == false)
{
result=false;
}
else
{
if (document.form.tema.value == "")
{
document.form.tema.focus();
alert ("Nezadali jste vaše téma");
result=false;
}
else
{
result=true;
}
}

if (Boolean(document.form.name) == false)
{
result=false;
}
else
{
if (document.form.name.value == "")
{
document.form.name.focus();
alert ("Nezadali jste vaše jméno");
result=false;
}
else
{
result=true;
}
}

if (Boolean(document.form.email) == false)
{
result=false;
}
else
{
if (window.RegExp)
{
re = new RegExp("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-z]{2,3}$");
if (!re.test(document.form.email.value))
{
alert("Zadaná adresa není správnou adresou elektronické pošty!");
result=false;
}
else
{
result=true;
}
}
}

return result;
}


a muzu to pouzivat i na vice formulare kde muzou i nemusi byt inputy
Toto téma je uzamčeno. Odpověď nelze zaslat.

0