Как правильнее передавать Ajax параметры

Предположим что вам нужно с определенного инпута отправлять аякс запрос на сервер, к примеру что бы проверить занят логин или нет при регистрации нового пользователя. Для этого вы пишите примерно следующую конструкцию:

Читать далее «Как правильнее передавать Ajax параметры»

Не работет CActiveForm в Yii

По невнимательности столкнулся с проблемой когда форма CActiveForm в Yii не работала, а точнее не подгружала jquery. При этом никаких ошибок не было за исключение

ReferenceError: $ is not defined

Главная - Mozilla Firefox

Это ошибка как раз и указывает что не подключен jquery. Моя форма была в виде виджета который был попапом.

WSERVEROpenServerdomainscoinprotectedviewslayoutsmain.php (animpic, pasta, coin, db) - Sublime Text 2 (UNREGISTERED)Помогло прямое включение jquery которое и показало мне где в моем виджете ошибки.

Главная - Mozilla Firefox1

Ошибка TypeError: jQuery(…).yiiactiveform is not a function (Yii1)

Делая форму столкнулся с проблемой когда не работала ajax валидация, несмотря даже на то, что у меня стояла

 

долго не мог понять в чем причина, пока не заметил ошибку с помощью firebug.

TypeError: jQuery(…).yiiactiveform is not a function

Суть этой ошибки в том что некоторые функции дублируются, а получается такое из-за того что, скорее всего, у вас в layouts порописано «вручную» подключение jquery

примерно так:

 

Когда вы продключаете аякс валидацию, на странице у вас опять подключается jquery который уже встроен в Yii.

Для решени этой проблемы замените свое «ручное» подключение на

 

Проигрывание звука уведомления с помощью jQuery

Нашел отличный пример для тех кто будет делать чат.

JavaScript

[js]
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$("#chatData").focus();
//Appending HTML5 Audio Tag in HTML Body
$(‘<audio id="chatAudio"><source src="notify.ogg" type="audio/ogg"><source src="notify.mp3" type="audio/mpeg"><source src="notify.wav" type="audio/wav"></audio>’).appendTo(‘body’);
$("#trig").on("click", function() {
var a = $("#chatData").val().trim();
if (a.length > 0) {
$("#chatData").val(»);
$("#chatData").focus();
$("<li></li>").html(‘<img src="small.jpg"/><span>’ + a + ‘</span>’).appendTo("#chatMessages");
// Scrolling Adjustment
$("#chat").animate({
"scrollTop": $(‘#chat’)[0].scrollHeight
}, "slow");
$(‘#chatAudio’)[0].play();
}
});
});
</script>
[/js]

HTML

[html]
<div id=’chatBox’>
<div id=’chat’>
<ul id=’chatMessages’>
//Old Messages
<li>
<img src="small.jpg"/><span>Hello Friends</span>
</li>
<li>
<img src="small.jpg"/><span>How are you?</span>
</li>
</ul>
</div>
<input type="text" id="chatData" placeholder="Message" />
<input type="button" value=" Send " id="trig" />
</div>
[/html]

CSS

[css]
* {
padding: 0px;
margin: 0px;
}
body {
font-family: arial;
font-size: 13px
}
#chatBox {
width: 400px;
border: 1px solid #000;
margin: 5px;
}
#chat {
max-height: 220px;
overflow-y: auto;
max-width: 400px;
}
#chat &gt;
ul &gt;
li {
padding: 3px;
clear: both;
padding: 4px;
margin: 10px 0px 5px 0px;
overflow: auto
}
#chatMessages {
list-style: none
}
#chatMessages &gt;
li &gt;
img {
width: 35px;
float: left
}
#chatMessages &gt;
li &gt;
span {
width: 300px;
float: left;
margin-left: 5px
}
#chatData {
padding: 5px;
margin: 5px;
border-radius: 5px;
border: 1px solid #999;
width: 300px
}
#trig {
padding: 4px;
border: solid 1px #333;
background-color: #133783;
color: #fff;
font-weight: bold
}
[/css]

Скачать исходник