Нужна помощь в завершении скрипта - если конечно не трудно.
У меня есть Вот такой скрипт: Помогите его закончить мне необходимо сделать так чтоб выводились ошибки на страницу если пользователь неправельно ввел данные в форму, проверки я сделал, но не получается выводить ошибки (необходимо примерно так: Ошибка: Вы ввели неправельные данные в поле Период или Вы ввели неправельные данные в поле Начальные показания) Период и начальные показания это Названия полей в скрипте это 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, время: 21:02. |