Помощник
|
Специальный символ |
www3_hb
|
Сообщение
#1
|
||
|
|
||
|
|||
www3_hb
|
Сообщение
#2
|
|
Может кто нибудь поможет а то никак не как не получается
|
|
|
ZhukV |
14.11.2010, 19:48;
Ответить: ZhukV
Сообщение
#3
|
|
www3, во-первых, я не могу вехать, зачем при фокусировке на форму делать запрос. Фокусировка, событие срабатывает тогда, когда пользоветель устанавливает курсор в текст поле.
Раз хочеш сделать так, то те нужно ставить событие blur на поле. Что за тип даных? Получай просто ответ "YES" or "NO"; Что за УРЛ? [PHP] <? if(isset($_GET['login'])){ if(strlen($_GET['text'])<6){ echo "YES"; }else{ echo "NO"; } }else{ echo "ERROR"; } ?> [/PHP] $('input#login').blur(fucntion(){
var login = $(this).val(); $.ajax({ url:'pr.php?login', data:'text='+ login, error:function(){ alert('Error conection server'); }, success:function(data){ if(data == 'YES'){ alert("YES"); } else if(data == "NO"){ alert("NO"); } else if(data == "ERROR"){ alert("ERROR"); } else{ alert("QUERY IS NOT SUCCESFUL"); } } }) }) |
|
|
www3_hb
|
Сообщение
#4
|
|
blur вроде обрабатывает любой клик на странице а как можно сделать так чтобы этот скрипт срабатывал когда была нажата клавиша(то есть когда печатает какой либо человек)
|
|
|
SOKOJI |
14.11.2010, 21:36;
Ответить: SOKOJI
Сообщение
#5
|
|
|
|
|
www3_hb
|
Сообщение
#6
|
|
Я чуть чуть изменил
[PHP]<script> $(document).ready(function(){ $('#login').keydown(function(){ var login = $(this).val(); $.ajax({ url:'./'+<?=Settings::$url?>+'/pr.php?login', data:'text='+ login, error:function(){ alert('Error conection server'); }, success:function(data){ if(data == 'YES'){ alert("Не верно введен Логин. Доступны символы латинского алфавита, цифры и знак подчеркивания '_'. Длина должна быть от 3 до 25 символов."); } else if(data == "NO"){ alert("Верно!"); } else if(data == "ERROR"){ alert("ERROR"); } else{ alert("QUERY IS NOT SUCCESFUL"); } } }) }) }) </script>[/PHP] вот что мне выдает в опере [PHP]Uncaught exception: ReferenceError: Undefined variable: files Error thrown at line 6, column 2 in <anonymous function>() in http://um/index.php?registration: $.ajax({ called from line 55, column 294 in <anonymous function: handle>(a) in http://um/files/jquery.min.js: i=i.handler.apply(this,arguments); called via Function.prototype.apply() from line 49, column 569 in <anonymous function: o>() in http://um/files/jquery.min.js: return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w[/PHP] |
|
|
www3_hb
|
Сообщение
#7
|
|
ааа все понял просто я в 1 пхп файле записал глобальную переменную и использовал эту переменную [PHP]Settings::$url[/PHP]
как только я изменил просто название на имя файла то сразу заработал |
|
|
ZhukV |
14.11.2010, 22:06;
Ответить: ZhukV
Сообщение
#8
|
|
www3, я вот одного не могу понять:
Что ты делаеш? Изучи для начала события, которые есть. В своем варианте, ты при нажатии клавиши постянно отправляеш запрос. Зачем? Вот некие события: click - клик на элементе dbclick - двойной клик focus - фокус на элемент blur - втрата фокуса change - выбор (для select) keydown - при нажатии клавиши В твоем варианте найболее подходит blur!!! Пользователь ввел даные, кликнул где-то в другом месте, даные отправились. |
|
|
MetSerp |
14.11.2010, 22:14;
Ответить: MetSerp
Сообщение
#9
|
|
вообще отсутствие кнопки "отправить " тобишь submit нарушает юзабилити, а реагировать вполне можно и на сабмит, так как по нажатию клавиши enter в поле инпут, происходит именно это событие.
Мне например как пользователю непонятно было б что мне надо куда то отщелкнуться от формы чтобы ее отправить, ну и если вы вдруг захотите добавить полей то вам придется все равно отказываться от блюр, иначе заполнить форму будет практически нереально. |
|
|
www3_hb
|
Сообщение
#10
|
|
Все вроде пашло но вот появились два вопроса
файл функции(не полный) [PHP]$(document).ready(function(){ $('#login').blur(function(){ var login = $(this).val(); $.ajax({ url:'./files/pr.php?login', data:'text='+ login, error:function(){ alert('Error conection server'); }, success:function(data){ if(data == 'YES'){ $('.login').html("<font color=\"#FF0000\">Не верно введен Логин. Доступны символы латинского алфавита, цифры и знак подчеркивания '_'. Длина должна быть от 3 до 25 символов.</font>").fadeIn('normal'); } else if(data == "NO"){ $('.login').html('<font color="#00CC00">Верно!</font>').fadeIn("normal"); } else if(data == "ERROR"){ alert("ERROR"); } else{ alert("QUERY IS NOT SUCCESFUL"); } } }) }) $('#email').blur(function(){ var email = $(this).val(); $.ajax({ url:'./files/pr.php?email', data:'em='+email, error:function(){ alert('Error conection server'); }, success:function(data){ if(data == 'YES'){ $('.email').html("<font color=\"#FF0000\">Не верно введен E-mail!</font>").fadeIn('normal'); } else if(data == "NO"){ $('.email').html('<font color="#00CC00">Верно!</font>').fadeIn("normal"); } else if(data == "ERROR"){ alert("ERROR"); } else{ alert("QUERY IS NOT SUCCESFUL");} } }) }) $('#pass #pass1').blur(function(){ var pass = $('#pass').val(); var pass1 = $('#pass1').val(); $.ajax({ url:'./files/pr.php?pass', data:'pass='+pass+'&pass1='+pass1, error:function(){ alert('Error conection server'); }, success:function(data){ if(data == 'YES'){ $('.pass').html("<font color=\"#FF0000\">Длина пароля должна быть не меньше 6 символов!!</font>").fadeIn('normal'); } else if(data == "NO"){ $('.pass').html('<font color="#00CC00">Верно!</font>').fadeIn("normal"); } else if(data == "FALSE"){ $('.pass').html('<font color="#00CC00">Пароли не совпадают.</font>').fadeIn('normal'); }else if(data == "ERROR"){ alert("ERROR"); } else{ alert("QUERY IS NOT SUCCESFUL");} } }) }) $('#capcha_new').click(function(){ $.ajax({ url:'./files/pr.php?email', data:'cap=<?=$_SESSION['uid']?>', error:function(){ alert('Error conection server'); }, success:function(data){ $('#capcha_img').html("<img src=\"img/capcha.php?sid="+data+"\" >"); } }) $('#capcha_img').html("<img src=\"img/capcha.php?sid=<?=$_SESSION['sud']=mt_rand(100000,999999)?>\" >"); }) }) </script> <div id = "form_registration"> <form method="post" action="<?=Settings::$url.'/SUM_Action.php'?>" onsubmit="registration('<?=$referer?>'); return false;"> <input type="hidden" name = "key" value="registration" /> <div class="label">Логин<font color="#FF0000">*</font>:</div> <div class="element"><input type="text" maxlength="25" name = "login" id="login"/></div> <div class="login"></div> <div class="label">E-mail<font color="#FF0000">*</font>:</div> <div class="element"><input type="text" maxlength="200" name = "email" id="email"/></div> <div class="email"></div> <div class="label">Пароль<font color="#FF0000">*</font>:</div> <div class="element"><input type="password" name = "password" id="pass"/></div> <div class="label">Еще раз пароль<font color="#FF0000">*</font>:</div> <div class="element"><input type="password" name = "password1" id="pass1"/></div> <div class="pass"></div> <div class="label">Код<font color="#FF0000">*</font>:</div> <div class="element"> <div id="capcha_img"><img src="img/capcha.php?sid='<?=$_SESSION['uid']?>'" /></div><br /><input type="text" value="" name="s"><br /> Если не видно CAPCHA то нажмите сюда -> <abbr id="capcha_new">Обновить капчу</abbr> </div> <div class="clear"></div> <div class="label"></div> <div class="element"><input type="submit" name = "submit" value="Регистриция"/></div> <div class="clear"></div> <hr style="width:200px; float:left;" /><br /><span style="float:left;"> <font color="#FF0000">*</font>-поля объязательны к заполнению!</span><br /> </form>[/PHP] а вот pr.php [PHP]<? if(isset($_GET['login'])){ if(strlen($_GET['text'])<6){ echo "YES"; }else{ echo "NO"; } }elseif(isset($_GET['email'])){ if(mb_eregi("^[a-z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}\$", $_GET['em'])){ echo "NO"; }else{ echo "YES"; } }elseif(isset($_GET['pass'])){ if(mb_strlen($string)<6){ echo "YES"; }else{ echo "NO"; } if($_GET['pass'] != $_GET['pass1']){ echo "FALSE"; } }elseif(isset($_GET['capcha'])){ session_start(); $_SESSION['uid'] = $_GET['cap']; unset($_SESSION['uid']; $_SESSION['uid'] = mt_rand(100000,999999); echo $_SESSION['uid']; } ?>[/PHP] У меня появились 2 вопроса 1) не могу проверить логины на длину и совподают ли они 2) у меня есть сессия uid эта сессия содержит рандомное значение используется для капчи. При клике капча обновляется на ту же самую если я не ошибаюсь то unset удаляет сессию а он у меня не удаляет и не рандомит И чтоб темы не плудить мне нужна теорея строения комментов Вроде понял как их делать Например создан материал в этом материале есть свой уникальный id и автор этого материалла чтоб комменты появились мне нужно искать по id я не понял а как кооменты Все комменты должны быть в бд только в одной ячейке ( и отделяться какимнибудь знаком)? |
|
|
|
Текстовая версия | Сейчас: 26.4.2024, 8:54 |