Autor | Zpráva | ||
---|---|---|---|
Lucia 888 Profil |
#1 · Zasláno: 24. 10. 2006, 16:02:34
co je tu potrebne zmenit aby som mohla použit viac položiek ako je 9 ?????
napr. 25 <script language="Javascript" type="text/javascript"> var kontrolaPrvku = new Array(); var chyby = ""; var navratovaHodnota = false; var jazyk = new Array(); jazyk["zahlavi"] = "Ve formuláři jsou následující chyby:" jazyk["start"] = ""; jazyk["polozka"] = ""; jazyk["povinna"] = " je povinné"; jazyk["minimum"] = " a musí obsahovat nejméně "; jazyk["maximum"] = " a maximálně "; jazyk["minmax"] = " a maximálně "; jazyk["znaky"] = " znaků"; jazyk["cislice"] = " a musí obsahovat čísla"; jazyk["email"] = " musí obsahovat platnou emailovou adresu"; function definice(n, type, HTMLname, minimum, maximum, d) { var p; var i; var x; if (!d) d = document; if ((p=n.indexOf("?"))>0&&parent.frames.length) { d = parent.frames[n.substring(p+1)].document; n = n.substring(0,p); } if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) { x = d.forms[i][n]; } for (i = 0; !x && d.layers && i < d.layers.length; i++) { x = definice(n, type, HTMLname, minimum, maximum, d.layers[i].document); return x; } eval("V_"+n+" = new vysledkyformulare(x, type, HTMLname, minimum, maximum);"); kontrolaPrvku[eval(kontrolaPrvku.length)] = eval("V_"+n); } function vysledkyformulare(form, type, HTMLname, minimum, maximum) { this.form = form; this.type = type; this.HTMLname = HTMLname; this.minimum = minimum; this.maximum = maximum; } function kontrola() { if (kontrolaPrvku.length > 0) { errorObject = ""; for (i = 0; i < kontrolaPrvku.length; i++) { validateObject = new Object(); validateObject.form = kontrolaPrvku[i].form; validateObject.HTMLname = kontrolaPrvku[i].HTMLname; validateObject.val = kontrolaPrvku[i].form.value; validateObject.len = kontrolaPrvku[i].form.value.length; validateObject.minimum = kontrolaPrvku[i].minimum; validateObject.maximum = kontrolaPrvku[i].maximum; validateObject.type = kontrolaPrvku[i].type; if (validateObject.type == "cislice" || validateObject.type == "string") { if ((validateObject.type == "cislice" && validateObject.len <= 0) || (validateObject.type == "cislice" && isNaN(validateObject.val))) { chyby += jazyk['start'] + jazyk['polozka'] + validateObject.HTMLname + jazyk['povinna'] + jazyk['cislice'] + "\n"; } else if (validateObject.minimum && validateObject.maximum && (validateObject.len < validateObject.minimum || validateObject.len > validateObject.maximum)) { chyby += jazyk['start'] + jazyk['polozka'] + validateObject.HTMLname + jazyk['povinna'] + jazyk['minimum'] + validateObject.minimum + jazyk['minmax'] + validateObject.maximum+jazyk['znaky'] + "\n"; } else if (validateObject.minimum && !validateObject.maximum && (validateObject.len < validateObject.minimum)) { chyby += jazyk['start'] + jazyk['polozka'] + validateObject.HTMLname + jazyk['povinna'] + jazyk['minimum'] + validateObject.minimum + jazyk['znaky'] + "\n"; } else if (validateObject.maximum && !validateObject.minimum &&(validateObject.len > validateObject.maximum)) { chyby += jazyk['start'] + jazyk['polozka'] + validateObject.HTMLname + jazyk['povinna'] + jazyk['maximum'] + validateObject.maximum + jazyk['znaky'] + "\n"; } else if (!validateObject.minimum && !validateObject.maximum && validateObject.len <= 0) { chyby += jazyk['start'] + jazyk['polozka'] + validateObject.HTMLname + jazyk['povinna'] + "\n"; } } else if(validateObject.type == "email") { if ((validateObject.val.indexOf("@") == -1) || (validateObject.val.charAt(0) == ".") || (validateObject.val.charAt(0) == "@") || (validateObject.len < 6) || (validateObject.val.indexOf(".") == -1) || (validateObject.val.charAt(validateObject.val.indexOf("@")+1) == ".") || (validateObject.val.charAt(validateObject.val.indexOf("@")-1) == ".")) { chyby += jazyk['start'] + jazyk['polozka'] + validateObject.HTMLname + jazyk['email'] + "\n"; } } } } if (chyby) { alert(jazyk["zahlavi"].concat("\n" + chyby)); chyby = ""; navratovaHodnota = false; } else { navratovaHodnota = true; } } </script> <body onLoad="init()"> <script language="Javascript" type="text/javascript"> function init() { definice('polozka1', 'string', 'Meno'); definice('polozka2', 'string', 'Priezvisko'); definice('polozka3', 'string', 'Názov eshopu'); definice('polozka4', 'string', 'Ulica'); definice('polozka5', 'string', 'č.domu'); definice('polozka6', 'string', 'Mesto/Obec'); definice('polozka7', 'string', 'PSČ'); definice('polozka8', 'string', 'Štát'); definice('polozka9', 'string', 'číslo účtu'); } </script> |
||
peta Profil * |
#2 · Zasláno: 24. 10. 2006, 20:27:47
Tak to je naprosto genialni script :) Ironicky mysleno
Na ktere strance jsi to vyhrabal/a ? var jazyk = new Array(); jazyk["zahlavi"] = "Ve formuláři jsou následující chyby:" jazyk["zahlavi"] - asociativni pole, cili Object, nikoliv Array Jinak, ten script mi prijde neco jako univerzalni kontrola formulare. Cili otazka o vice polozkach mi prijde trosku mimo, kdyz se kontroluje "n" polozek. function init() { definice('polozka1', 'string', 'Meno'); definice('polozka2', 'string', 'Priezvisko'); definice('polozka3', 'string', 'Názov eshopu'); definice('polozka4', 'string', 'Ulica'); definice('polozka5', 'string', 'č.domu'); definice('polozka6', 'string', 'Mesto/Obec'); definice('polozka7', 'string', 'PSČ'); definice('polozka8', 'string', 'Štát'); definice('polozka9', 'string', 'číslo účtu'); } Pravdepodobne by tu melo stacit dopsat definice('polozka9', 'string', 'číslo účtu'); definice('polozka10', 'cislice', 'icq',1,9999999999); definice('polozka11', 'email', 'mail'); "cislice" "string" "email" kde u cislice to kontroluje max a min. Tvurci bych rad sdelil par veci, jak se takove veci pisi :) |
||
Lucia 888 Profil |
#3 · Zasláno: 24. 10. 2006, 20:39:46
je to z nejakej knihy..dik za radu.najdem si iny.ked som pridala 10 polozku neslo to.len po 9
|
||
peta Profil * |
#4 · Zasláno: 24. 10. 2006, 21:05:06
Lucia 888
tak dej odkaz na stranku. pravdepodobne treba napsat <input name="polozka10"> a do toho init() potom dopsat definice('polozka10', 'cislice', 'icq',1,9999999999); Ono to jako neni spatne, jsou tam i genialni veci, ale celkove je to napsane fakt neprehledne :) |
||
Lucia 888 Profil |
#5 · Zasláno: 24. 10. 2006, 22:18:59
ved prave to nefunguje-nevies o nejakom dobrom formulari na viac ako 9 poloziek ?
|
||
peta Profil * |
#6 · Zasláno: 25. 10. 2006, 17:03:47
Dobrom, mno, moj. Ale ma urcite chyby...
Ale ja nepouzivam taku kontrolu, ako ty, inu. function checkFormUserEdit(form) {var p,p2,b,c,reg;b=1;c=""; p = form.userlogin.value; if (p=="") {b=0;c+="\nLOGIN - neni zadan !";} p = p.replace(/[0-9A-Za-z]/g,""); if (p!="") {b=0;c+="\nLOGIN - nepovolene znaky ! (povolene A-Za-z0-9)";} if (p.length>16) {b=0;c+="\nLOGIN - max pocet znaku 16 !";}; p = form.userpsw.value; // if (p=="") {b=0;c+="\nPASSWORD - neni zadan !"} p2= p; p = p.replace(/[0-9A-Za-z]/g,""); if (p!="") {b=0;c+="\nPASSWORD - nepovolene znaky ! (povolene A-Za-z0-9)";} p = form.userpsw1.value; // if (p=="") {b=0;c+="\nPASSWORD - neni zadan druhy udaj password !";} if (p!=p2) {b=0;c+="\nPASSWORD - oba udaje password musi byt shodne !";} p = form.usermail.value; reg = new RegExp("@"); if (p=="") {b=0;c+="\nMAIL - neni zadan !";} if (!reg.test(p)) {b=0;c+="\nMAIL - neobsahuje znak zavinac @ !";} if (p.length>64) {b=0;c+="\nMAIL - max pocet znaku 64 !";}; p = form.ins_contactB0.value; // if (p=="") {b=0;c+="\nLOGIN - neni zadan !";} // p = p.replace(/[0-9A-Za-z]/g,""); // if (p!="") {b=0;c+="\nLOGIN - nepovolene znaky ! (povolene A-Za-z0-9)";} if (p.length>64) {b=0;c+="\nkontaktB JMENO - max pocet znaku 64 !";}; p = form.ins_contactB1.value; p = p.replace(/[0-9]{0,31}/,""); if (p!="") {b=0;c+="\nkontaktB TEL - nepovolene znaky ! (povolene 0-9, 31 znaku)";} p = form.ins_contactB2.value; reg = new RegExp("@"); // if (p=="") {b=0;c+="\nMAIL - neni zadan !";} if (p!=="" && !reg.test(p)) {b=0;c+="\nkontaktB MAIL - neobsahuje znak zavinac @ !";} if (p.length>64) {b=0;c+="\nkontaktB MAIL - max pocet znaku 64 !";}; if (!b) {alert("---Upravit uzivatele---"+c);} return b?true:false; } <?php function PPtr3($sel,$a,$i,$k0,$l0,$typ) { global $lng; $sel=($sel==1)?' class="sel"':''; $l=$lng[$a]; if ($typ==0) { $l=$l[1][$i]; $t ="\n".'<tr>'."\t".'<td><label'.$sel.'>'.$l.'</label></td>'; $t.="\n\t".'<td><input type="text" value="'.$k0.'" name="'.$a.''.$i.'"/></td></tr>'; } elseif ($typ==1) {$l=$l[1][$i];} if ($typ==1 || $typ==2) { $t ="\n".'<tr>'."\t".'<td><label'.$sel.'>'.$l[0].'</label></td>'; $t.="\n\t".'<td><select name="'.$a.''.$i.'">'; foreach ($l[1] as $key => $value) {if ($key!==$l0) $t.="\n\t".'<option value="'.$key.'"'.(($key==$k0)?' selected="selected"':'').'>'.$value.'</option>';} $t.="\n\t</select></td></tr>"; } echo $t; } $p = array( $row0['user_login'], '', '', Ereg_Replace("\@","@",$row0['user_mail']), $row0['user_lang'], $row0['user_skin'], $row0['ins_contactB0'], $row0['ins_contactB1'], Ereg_Replace("\@","@",$row0['ins_contactB2']) ); $z='user'; $k=0; PPtr3(0,$z,'login' ,$p[$k],99,0); $k++; PPtr3(0,$z,'psw' ,$p[$k],99,0); $k++; $t ="\n".'<tr>'."\t".'<td>'.$lng['user'][1]['psw'].'</td>'; $t.="\n\t".'<td><input type="password" value="'.$p[$k].'" name="userpsw1"/></td></tr>'; echo $t; $k++; PPtr3(0,$z,'mail' ,$p[$k],99,0); $k++; PPtr3(0,$z,'lang' ,$p[$k],99,1); $k++; PPtr3(0,$z,'skin' ,$p[$k],99,1); $z='ins_contactB'; echo "\n\n\n<tr>\t".'<td colspan="2"><hr/><i>'.$lng[$z][0].'</i></td></tr>'; $k++; PPtr3(0,$z,0,$p[$k],99,0); $k++; PPtr3(0,$z,1,$p[$k],99,0); $k++; PPtr3(0,$z,2,$p[$k],99,0); ?> |
||
peta Profil * |
#7 · Zasláno: 25. 10. 2006, 17:05:57
Lucia 888
jakpsatweb - javascript - priklady Jestli ocekavas, ze ti prepisi ten priklad nahore, jak bych to udelal ja a ukazi ti, jak se tam prida dalsi input, tak neco za neco :) Tady se proste pocita s tim, ze kdyz das takovy kod, a nedas jej se vsim, i s temi inputy, nejlepe odkaz na stranku na inetu tak, ze si s tim umim poradit sam/a |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0