Доброго времени суток! Это пример, который я ободрал выполнял следующую логику. Проверял корректность email адреса в базе данных и в случае если он существует подсвечивал зеленым, если нет подсвечивал красным. Вот что у меня получилось после изменения по свои нужды. html HTML: <div class="form_item"> <div class="form_element cf_textbox"> <label class="cf_label" style="width: 150px;">Article</label> <input class="cf_inputbox" maxlength="150" size="30" title="" id="email" name="email" type="text"/> <input class="cf_inputbox" maxlength="150" size="30" title="" id="pole" name="pole" type="text"/> </div> <div class="cfclear"> </div> </div> php PHP: <?php // clean up the JSON message $email = strtolower(trim($_GET['email'])); // check that the email field isn't empty $response = false; if ( $email ) { // Check the database $db =& JFactory::getDBO(); $query = "SELECT model FROM `#__models` WHERE LOWER(`article`) = ".$db->quote($email).";"; $db->setQuery($query); $response = (bool) $db->loadResult(); } $response = array('email_ok' => $response ); //send the reply echo json_encode($response); // stop the from running $MyForm->stopRunning = true; die; ?> js [js]window.addEvent('domready', function() { // set the url to send the request to var url = 'index.php?option=com_chronoforms&chronoform=ttt&event=ajaxEvent&format=raw'; var email = $('email'); email.addEvent('blur', function() { // clear any background color from the input //email.setStyle('background-color', 'white'); // check that the email address is valid //regex = /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i; var value = email.value.trim(); //if (value.length > 6 && regex.test(value)) { //if (value.length > 3 ) { // if all is well send the JSON request var jSonRequest = new Request.JSON({ url : url, method : 'get', data : {email : email.value}, onComplete : function(r) { // check the result and set the background // color //console.log®; if (r.email_ok) { email.setStyle('background-color','green'); } //else { // email.setStyle('background-color','red'); //} } }).send(); // } else { // if this isn't a valid email set background color // red // email.setStyle('background-color', 'red'); // } }); }); [/js] После выполнения получил следующие вывод, запрос выполняет корректно, так как поле при правильно введенном значении подсвечивается зеленым. Осталось два не выясненных вопроса как для меня новичка 1. В php у меня результат возвращается как булевое значение. Как переделать чтоб возвращался результат из запроса, а не истина или ложь? 2. Как вернуть полученный результат в инпут "pole"? Помогите пожалуйста, а то совсем сбился с толку
1. ты в 12 строчке своего php сам кастишь полученное значение в bool. Что еще оттуда может возвращаться? 2. Ну как? $("#pole").val(r.email_ok)
Я самостоятельно и пытаюсь освоить, я не попросил написать код с нуля, а попросил указать на ошибки. Так что если знаете ответ на мой вопрос подскажите уж пожалуйста)
PHP: <?php $query = "SELECT model FROM `#__models` WHERE LOWER(`article`) = ".$db->quote($email).";"; Для меня это вообще загадка. Вы уверены в этом запросе? PHP: <?php $response = (bool) $db->loadResult(); Это копипаст или осмысленные действия?