Нужна помощь в завершении скрипта - если конечно не трудно.
У меня есть Вот такой скрипт: Помогите его закончить мне необходимо сделать так чтоб выводились ошибки на страницу если пользователь неправельно ввел данные в форму, проверки я сделал, но не получается выводить ошибки (необходимо примерно так: Ошибка: Вы ввели неправельные данные в поле Период или Вы ввели неправельные данные в поле Начальные показания) Период и начальные показания это Названия полей в скрипте это period и sch1.
<html>
<head>
<title></title>
<META HTTP-EQUIV="Content-Type" charset="windows-1251">
<LINK REL="StyleSheet" HREF="css/platdog.css" TYPE="text/css">
</head>
<body>
<table style="color:#00000;" width="100%"; border="0">
<tr>
<td colspan="2">
<div style="height:100%; width:100%; border:1 solid #000000;">
<script>
function proverka()
{
var counterr=0;
var err0=false;
var err1=false;
var err2=false;
var err3=false;
var err4=false;
// var name = new Array("Период","Начальные показания","Конечные показания","Количество","Сумма");
// Проверка введенного периода
var strperiod = forma.period.value;
var i;
if (i=strperiod.search(/^([0][1-9]|1[0-2]).[0-9]{2}$/) == -1)
{
document.getElementById('err1').innerHTML="<p>Ошибка: Неверный период.</p>";
counterr++;
err0=true;
}
else
{
document.getElementById('err1').innerHTML="";
}
// Проверка введенного sch1
var strsch1 = forma.sch1.value;
var i1;
if (i1=strsch1.search(/^[0-9]{0,6}$/) == -1)
{
document.getElementById('err2').innerHTML="<p>Ошибка: Неверные начальные показания</p>";
counterr++;
err1=true;
}
else
{
document.getElementById('err2').innerHTML="";
}
// Проверка введенного sch2
var strsch2 = forma.sch2.value;
var i2;
if (i2=strsch2.search(/^[0-9]{0,6}$/) == -1)
{
document.getElementById('err3').innerHTML="<p>Ошибка: Неверные конечные показания</p>";
counterr++;
err2=true;
}
else
{
document.getElementById('err3').innerHTML="";
}
// Проверка введенного kub
var strkub = forma.kub.value;
var i3;
if (i3=strkub.search(/^[0-9]{0,6}$/) == -1)
{
document.getElementById('err4').innerHTML="<p>Ошибка: Неверные количество кубов</p>";
counterr++;
err3=true;
}
else
{
document.getElementById('err4').innerHTML="";
}
// Проверка введенного sum
var strsum = forma.sum.value;
var i4;
if (i4=strsum.search(/^([0-9]){1,5}$/) == -1)
{
document.getElementById('err5').innerHTML="<p>Ошибка: Неверная сумма</p>";
counterr++;
err4=true;
}
else
{
document.getElementById('err5').innerHTML="";
}
if (counterr>0)
{
return false;
}
else
{
return true;
}
}
</script>
<form method="post" name="forma" id="forma" action="test.php" onsubmit="return proverka()" >
<table border="0" height="100%" width="100%" class="table">
<tr>
<td rowspan="2">
<div class="table" >
<table border="0" width="100%" height="100%" >
<tr>
<td class="text"><span>Организация</span></td>
<td style="padding-left:50px;">
<select name="org">
<option value="0"> --------- Выберите организацию --------- </option>
</select>
</td>
</tr>
<tr>
<td class="text"><span>Начальные показания</span></td>
<td class="text2"><input type="text" class="input" maxlength="5" name="sch1" id="sch1"/></td>
</tr>
<tr>
<td class="text"><span>Количество кубов</span></td>
<td class="text2"><input type="text" class="input" maxlength="5" name="kub" id="kub" /></td>
</tr>
<tr>
<td class="text"><span>Конечные показания</span></td>
<td class="text2"><input type="text" class="input" maxlength="5" name="sch2" id="sch2"/></td>
</tr>
<tr>
<td class="text"><span>Период</span></td>
<td class="text2"><input type="text" class="input" name="period" id="period"/></td>
</tr>
<tr>
<td class="text"><span>Сумма платежа</span></td>
<td class="text2"><input type="text" class="input" name="sum" /></td>
</tr>
</table>
</div>
</td>
<td rowspan="2" width="160px">
<center>
<div style="margin-bottom:160px;"><br>
<input type="submit" name="sub_dog" value=" Оплатить " /><br><br><input type="reset" name="reset" value=" Очистить " />
</div>
</td>
</tr>
</table>
</form>
</div>
<div id="err1" style="color:red; font-weight:bold;"></div>
<div id="err2" style="color:red; font-weight:bold;"></div>
<div id="err3" style="color:red; font-weight:bold;"></div>
<div id="err4" style="color:red; font-weight:bold;"></div>
<div id="err5" style="color:red; font-weight:bold;"></div>
</td>
</tr>
</table>
</body>
</html>
|
Ошибки необходимо выводить на страницу!
|
А что конкретно не получается?
Запускали в мозиле с firebug'ом? Что пишет firebug? |
Сейчас в скрипте у меня ошибки выводятся в div я мне хотелось бы чтоб ошибки выводились динамически, а не в отдельно отведенный div для этой ошибки! Просто допустим если у меня ошибка будет допушена в начальных показания и с periode то эти ошибки будут выводится примерно так:
ошибка1: текст ошибки ошибка2: текст ошибки Необходимо чтоб выводилось без пропусков |
Все в принципе у Вас правильно. Видимо вы хотите чтобы ошибки выводились сразу, при вводе.
Вот принцип как это осущствить. Вы легко разберетесь.
<html>
<head>
<title></title>
<META HTTP-EQUIV="Content-Type" charset="windows-1251">
<style>
.text {width: 100px}
.text2 input,div {float: left}
#err2 {color: red}
</style>
</head>
<body>
<script>
function testpokazaniya(il){
if (il.search(/^[0-9]{0,6}$/) == -1)
{
document.getElementById('err2').innerHTML="Ошибка: Неверные начальные показания";
}
else
{
document.getElementById('err2').innerHTML="Введено верно";
}
}
</script>
<table border="1" width="100%" >
<tr>
<td class="text"><span>Начальные показания</span></td>
<td class="text2">
<input type="text" class="input" maxlength="5" id="sch1" onkeyup="testpokazaniya(this.value)" /><div id="err2"></div>
</td>
</tr>
</table>
</body>
</html>
Еще хочу кое-что заметить не каающееся js. - проверку также производите и на строне сервера, потому как злоумышленник может легко обойти проверки js. - не используйте style=".....", или <style></style> Всё выносите в отдельный css файл. border="0" width="100%" и т.д. тоже не должно быть. - js код также выносите в отдельный js файл. |
Большое спасибо это мне очень поможет
|
Скажите а Вы не знаете как например сделать такой вывод ошибок как на этом форуме, например когда добавляешь новую тему и не ввел буквы с картинки??
|
а можно поподробней. я чего-то не нашел картинок. :)
|
я имею ввиду код который на картинке его ещевводить надо в поле
|
вообщем если есть ошибка то в структуру страници добавляется таблица в которой выводится ошибка
|
| Часовой пояс GMT +3, время: 10:36. |