04.04.2010, 18:07
|
Новичок на форуме
|
|
Регистрация: 04.04.2010
Сообщений: 7
|
|
Помогите с модальным окном!!
Здравствуйте! Помогите пожалуйста прикрутить модальное окно.
Есть скрипт рейтинга к статье, необходимо, чтоб при нажатии на оценку появлялось окно с опросом, к примеру: ваш пол:м/ж ;ваш возраст:-18/18-25/25-40/40-60..и только после нажатия кнопки сабмит все значения(в том числе и значение оценки) передавались в базу мускля. ПХП знаю, с этим нет проблем, а вот ява...)) Подскажите в какое место нужно подставить скрипт окна, в скрипт рейтинга??
Вот содержимое скрипта рейтинга:
var ElementRating=new Class({
initialize:function(e,d){this.element=$(e);
this.url=d;
var b=this,a=this.element.getElements("div.stars");
a.each(function(c,f){c.addEvent("click",function(){b.vote(a.length-f)});
c.addEvent("mouseenter",function(){c.addClass("hover")});
c.addEvent("mouseleave",function(){c.removeClass("hover")})})},
vote:function(e){var d=this;
(new Ajax(this.url,{method:"post",data:"method=vote&args[0]="+e,onComplete:function(b){var a=b.split(",");
b=a[0];a=a[1];b>0&&d.element.getElement("div.previous-rating").setStyle("width",b+"%");
d.element.getElement("div.vote-message").setHTML(a)}})).request()}});
ElementRating.implement(new Options);
А вот скрипт модального окна в инете нашел как в фейсбуке:
window.addEvent('domready',function() {
/* hide using opacity on page load */
$('fb-modal').setStyles({
opacity:0,
display:'block'
});
/* hiders */
$('fb-close').addEvent('click',function(e) { $('fb-modal').fade('out'); });
window.addEvent('keypress',function(e) { if(e.key == 'esc') { $('fb-modal').fade('out'); } });
$(document.body).addEvent('click',function(e) {
if($('fb-modal').get('opacity') == 1 && !e.target.getParent('.generic_dialog')) {
$('fb-modal').fade('out');
}
});
/* click to show */
$('fb-trigger').addEvent('click',function() {
$('fb-modal').fade('in');
});
});
а вот так вызывается рейтинг в пхп:
<script type="text/javascript">
// <!--
var vt = new ElementRating('rating-<?php echo $instance; ?>', '<?php echo JRoute::_($link, false); ?>');
// -->
</script>
Помогите,пожалуйста, очень нужно, проект останавливается!!!
Если у кого есть готовое решение,буду очень признателен
Заранее спасибо!
|
|
04.04.2010, 21:04
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Здравствуйте!
Судя по вашему сообщению, вы ну совсем не знаете javascript.
Освойте основы языка и вопрос отпадет сам, полностью или частично.
А с чем не справитесь - поможем.
На сайте javascript можно начать изучать с учебника, раздел Основы javascript.
Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/
Задавайте конкретные вопросы по ходу дела.
|
|
05.04.2010, 00:42
|
Новичок на форуме
|
|
Регистрация: 04.04.2010
Сообщений: 7
|
|
Блин, ну я ведь и сказал, что не знаю javascript!! html и php знаю,спасибо за предложенные справочники,но я в них не нуждаюсь,а яву крутить не доводилось...понимаю,что то, что мне надо, ничего сложного не должно быть, просто нет времени вникнуть в синтаксис..обязательно изучу, но чуть позже.
если бы было время, то я бы и не задавал вопросов!!!!!
Поэтому, кто может, и не сложно, ответьте по сути, пожалуйста!!!
|
|
05.04.2010, 01:13
|
|
Пионэр
|
|
Регистрация: 16.11.2009
Сообщений: 1,322
|
|
«Я не знаю javascript, не хочу и не собираюсь его учить, мне нужен результат сейчас!»
Вам в раздел «Работа».
|
|
11.04.2010, 12:44
|
Новичок на форуме
|
|
Регистрация: 04.04.2010
Сообщений: 7
|
|
Вобщем, не много разобрался, ничего сложного не оказалось,спасибо, что заставили
Вот с аяксом, пока ну никак ) форму сделал..все работает,но вот сейчас передо мной дилемма,как отправить эти данные, по отдельности или формой,там всего-то три параметра...
Возник такой вопрос: я вызываю окно вот так:
a.each(function(c,f){c.addEvent("click",function(){$('fb-modal').fade('in'),b.vote(a.length-f)});
но мне бы хотелось, вызвать окно после того как вернется, значение "b>0" тупым подставлением
onComplete:function(b){var a=b.split(",");
b=a[0];a=a[1];b>0&&$('fb-modal').fade('in');d.element.getElement("div.previous-rating").setStyle("width",b+"%");
не заработает//
может кто подскажет как это сделать правильно..
Последний раз редактировалось -Dima-, 13.04.2010 в 18:19.
|
|
14.04.2010, 17:02
|
Новичок на форуме
|
|
Регистрация: 04.04.2010
Сообщений: 7
|
|
И в этом разобрался))))
новый вопрос возник, можно ли как-то переменную из класса передать в мою модальн. форму??
я передаю переменную в div с помощью set('html'...)(сие чудо на mootools делаю), а потом вытягиваю ее с формы с помощью get('html'), но возникла трудность: нужно из класса вытянуть урл для аякс запроса,сделал опять также, скрыл ее стилями, но место где находится div видно, мне кажется есть лучше способ.
Если кто знает, подскажите,пожалуйста!!))
|
|
14.04.2010, 17:14
|
Аспирант
|
|
Регистрация: 10.04.2008
Сообщений: 83
|
|
Как я понял из Вашего кода, нужное url в "классе" находится под
this.url
Если не прав - поправьте.
Ну так и экземпляр класса и указывает на этот url:
vt.url
|
|
14.04.2010, 17:32
|
Новичок на форуме
|
|
Регистрация: 04.04.2010
Сообщений: 7
|
|
Да, Вы правы!
Спасибо большое!!
получилось))) я тут себе голову ломаю,а все так просто!))
+
|
|
15.04.2010, 15:25
|
Новичок на форуме
|
|
Регистрация: 04.04.2010
Сообщений: 7
|
|
Подскажите пожалуйста, такой момент.
Можно ли форму вынести в отдельный файл, а потом по запросу подгружать ее?если да,то как это осуществить??..
|
|
15.04.2010, 15:40
|
|
.
|
|
Регистрация: 30.03.2010
Сообщений: 1,813
|
|
Сообщение от -Dima-
|
Подскажите пожалуйста, такой момент.
Можно ли форму вынести в отдельный файл, а потом по запросу подгружать ее?если да,то как это осуществить??..
|
почитай http://xmlhttprequest.ru
__________________
.
|
|
|
|