Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как присвоить тексту скрипт! (https://javascript.ru/forum/misc/31105-kak-prisvoit-tekstu-skript.html)

petlyra5 27.08.2012 09:47

Скрипт "Обратный звонок"!
 
Всем привет! Столкнулся с такой проблемой! У меня на сайте стоял скрипт "Заказать обратный звонок"! Которая вкладка была расположена с права страницы сайта! При её нажатии открывалось окно и там уже вводишь данные! И решил это делать изменить. Хочу чтобы "Заказать обратный звонок" была как текст на сайте возле номера телефона, а при нажатии этого текста открывалось окно и клиент уже вводил бы данные! Я как слышал это можно сделать с помощью id!

Вот код расположенный на странице:

<link rel="stylesheet" href="/callme/callme.css" type="text/css">
<script type="text/javascript" src="/callme/jquery.min.js"></script>
<script type="text/javascript" src="/callme/jquery.storage.js"></script>
<script type="text/javascript" src="/callme/callme.js"></script>

<div id="callme"><input id="viewform" type="button"></div>
<div id="callmeform" class="hide-off"><div id="cme_cls"></div><h6><font color="#03539C">Заказать обратный звонок</font></h6>
<table cellpadding="0" cellspacing="0">
<tbody><tr><td>Ваше имя</td></tr>
<tr><td><input class="txt" maxlength="150" id="cname" value="" type="text"></td></tr>
<tr><td>Телефон</td></tr>
<tr><td><input class="txt" maxlength="150" value="+7-" id="cphone" type="text"></td></tr>
<tr><td>Вопрос или комментарий</td></tr>
<tr><td><input class="txt" maxlength="1000" id="ccmnt" type="text"></td></tr>
<tr><td>

<input class="btn" value="Перезвоните мне" type="button"></td>
</tr>
</tbody></table>
<div id="callme_result"></div>
</div>


Кто поможет!? Очень надо! Спасибо

lord2kim 27.08.2012 10:46

petlyra5, не понял смысла...лучше бы привели код, который у вас был...
проще сделать с помощью кнопки (onClick) или ссылки (на href-атрибут повесить вызов соответствующей функции)

petlyra5 27.08.2012 10:55

lord2kim,
Отредактировал первое сообщение! Этот код у меня стоит на сайте!
Помогите изменить его! Пример если можно переделанного!

lord2kim 27.08.2012 10:58

petlyra5, приведите содержимое callme.js, в котором скорее всего и содержатся основные потроха

petlyra5 27.08.2012 11:03

lord2kim,
jQuery(function(){
jQuery("#viewform").click(function(){
	jQuery("#callmeform").fadeToggle("fast");
});

jQuery("#cme_cls").click(function(){
	jQuery("#viewform").click();
});

jQuery("#viewform").hover(
	function () { 
		jQuery(this).addClass("callmeform_hover");
	},
	function () {
		jQuery(this).removeClass("callmeform_hover");
	}
);
});

function sendMail() {
	var cnt = jQuery.Storage.get('callme-sent'); // getting last sent time from storage
	if (!cnt) { cnt = 0; }
	
	jQuery.getJSON("/callme/index.php", {
		cname: jQuery("#cname").val(), cphone: jQuery("#cphone").val(), ccmnt: jQuery("#ccmnt").val(), ctime: cnt, url: location.href }, function(data) {	
		message = "<div class='" + data.cls + "'>" + data.message +"</div>";
		jQuery("#callme_result").html(message);
		
		if (data.result == "success") {
			jQuery.Storage.set("callme-sent", data.time);
			jQuery("#callmeform .btn").attr("disabled", "disabled");
			setTimeout( function(){ jQuery("#viewform").click(); }, 10000);
			setTimeout( function(){ jQuery("#callmeform .txt").val(""); }, 10000);
		}
	});
//	}
}

jQuery(document).ready(function(){

jQuery("#callmeform .txt").focus(function(){
	//jQuery(this).val("");
});

jQuery("#callmeform .btn").click(function(){
	jQuery("#callme_result").html("<div class='sending'>Отправка...</div>");
	setTimeout( function(){ sendMail(); }, 2000);
	//setTimeout( function(){ jQuery(this).attr('disabled', ''); }, 5000);
	return false;
});	
});

petlyra5 27.08.2012 13:13

Кто-нибудь мне поможет с данным вопросом! Надо всего лишь скрипт прикрепить к тесту "обратный звонок"!

lord2kim 27.08.2012 13:31

petlyra5, оберни "Заказать обратный звонок" в span с каким-либо class-ом и пропиши таковой вместо .btn в
jQuery("#callmeform .btn").click(function(){

petlyra5 27.08.2012 14:30

Цитата:

Сообщение от lord2kim
petlyra5, оберни "Заказать обратный звонок" в span с каким-либо class-ом и пропиши таковой вместо .btn в
jQuery("#callmeform .btn").click(function(){

Если можно пример! А то не совсем ясно! Я не спец в этом! Спасибо большое!

lord2kim 27.08.2012 15:00

petlyra5,
<link rel="stylesheet" href="/callme/callme.css" type="text/css">
<script type="text/javascript" src="/callme/jquery.min.js"></script>
<script type="text/javascript" src="/callme/jquery.storage.js"></script>
<script type="text/javascript" src="/callme/callme.js"></script>

<div id="callme"><input id="viewform" type="button"></div>
<div id="callmeform" class="hide-off"><div id="cme_cls"></div><h6><font color="#03539C"><span class="btn1">Заказать обратный звонок</span></font></h6>
<table cellpadding="0" cellspacing="0">
<tbody><tr><td>Ваше имя</td></tr>
<tr><td><input class="txt" maxlength="150" id="cname" value="" type="text"></td></tr>
<tr><td>Телефон</td></tr>
<tr><td><input class="txt" maxlength="150" value="+7-" id="cphone" type="text"></td></tr>
<tr><td>Вопрос или комментарий</td></tr>
<tr><td><input class="txt" maxlength="1000" id="ccmnt" type="text"></td></tr>
<tr><td>

<!--<input class="btn" value="Перезвоните мне" type="button">--></td>
</tr>
</tbody></table>
<div id="callme_result"></div>
</div>



jQuery(function(){
jQuery("#viewform").click(function(){
	jQuery("#callmeform").fadeToggle("fast");
});

jQuery("#cme_cls").click(function(){
	jQuery("#viewform").click();
});

jQuery("#viewform").hover(
	function () { 
		jQuery(this).addClass("callmeform_hover");
	},
	function () {
		jQuery(this).removeClass("callmeform_hover");
	}
);
});

function sendMail() {
	var cnt = jQuery.Storage.get('callme-sent'); // getting last sent time from storage
	if (!cnt) { cnt = 0; }
	
	jQuery.getJSON("/callme/index.php", {
		cname: jQuery("#cname").val(), cphone: jQuery("#cphone").val(), ccmnt: jQuery("#ccmnt").val(), ctime: cnt, url: location.href }, function(data) {	
		message = "<div class='" + data.cls + "'>" + data.message +"</div>";
		jQuery("#callme_result").html(message);
		
		if (data.result == "success") {
			jQuery.Storage.set("callme-sent", data.time);
			jQuery("#callmeform .btn").attr("disabled", "disabled");
			setTimeout( function(){ jQuery("#viewform").click(); }, 10000);
			setTimeout( function(){ jQuery("#callmeform .txt").val(""); }, 10000);
		}
	});
//	}
}

jQuery(document).ready(function(){

jQuery("#callmeform .txt").focus(function(){
	//jQuery(this).val("");
});

jQuery("#callmeform .btn1").click(function(){
	jQuery("#callme_result").html("<div class='sending'>Отправка...</div>");
	setTimeout( function(){ sendMail(); }, 2000);
	//setTimeout( function(){ jQuery(this).attr('disabled', ''); }, 5000);
	return false;
});	
});

petlyra5 27.08.2012 15:31

lord2kim,
Может я не правильно разъяснил! Мне нужно текст"Заказать обратный звонок" на странице http://flir.su/test/ сделать так, чтобы после нажатия на текст всплывало окно, где заполняются данные! Такое же как при нажатии на вкладке справа "Заказать обратный звонок" А эту вкладку убрать совсем! Буду благодарен если поможете! Спасибо за старания!

lord2kim 27.08.2012 16:36

petlyra5, сделайте, например, на http://jsfiddle.net/ рабочий пример, а то так трудно

petlyra5 27.08.2012 18:27

lord2kim,
http://jsfiddle.net/uUqTV/1/ внес коды, которые у меня имеются! Вот это необходимо переделать!

lord2kim 27.08.2012 18:32

petlyra5, пропишите полные адреса для скриптов и стилей, т.е. в этих местах
<link rel="stylesheet" href="/callme/callme.css" type="text/css">
<script type="text/javascript" src="/callme/jquery.min.js"></script>
<script type="text/javascript" src="/callme/jquery.storage.js"></script>
<script type="text/javascript" src="/callme/callme.js"></script>

petlyra5 27.08.2012 20:04

lord2kim,
<link rel="stylesheet" href="http://flir.su/callme/callme.css" type="text/css">
<script type="text/javascript" src="http://flir.su/callme/jquery.min.js"></script>
<script type="text/javascript" src="http://flir.su/callme/jquery.storage.js"></script>
<script type="text/javascript" src="http://flir.su/callme/callme.js"></script>

petlyra5 28.08.2012 17:01

Вопрос остался открытым! Нужна помощь!

petlyra5 29.08.2012 10:44

lord2kim,
Поможете мне с данным вопросом?

lord2kim 29.08.2012 11:09

petlyra5, http://jsfiddle.net/uUqTV/4/
что бы убрать вкладку закоментируйте
<div id="callme"><input id="viewform" type="button"></div>

petlyra5 29.08.2012 13:02

lord2kim,
Цитата:

Сообщение от lord2kim
petlyra5, http://jsfiddle.net/uUqTV/4/
что бы убрать вкладку закоментируйте
<div id="callme"><input id="viewform" type="button"></div>

Если честно я не понял, что необходимо сделать!? Можете дать полный готовый код! При нажатии на ссылку всплывало окно, где вводишь данные для отправки! Спасибо!

lord2kim 29.08.2012 14:56

petlyra5, JS наверное из callme.js
jQuery(function(){
jQuery("#abc").click(function(){
    jQuery("#callmeform").fadeToggle("fast");
});
 
jQuery("#cme_cls").click(function(){
    jQuery("#abc").click();
});
});
 
/*jQuery("#viewform").hover(
    function () {
        jQuery(this).addClass("callmeform_hover");
    },
    function () {
        jQuery(this).removeClass("callmeform_hover");
    }
);
});*/
 
function sendMail() {
    var cnt = jQuery.Storage.get('callme-sent'); // getting last sent time from storage
    if (!cnt) { cnt = 0; }
     
    jQuery.getJSON("/callme/index.php", {
        cname: jQuery("#cname").val(), cphone: jQuery("#cphone").val(), ccmnt: jQuery("#ccmnt").val(), ctime: cnt, url: location.href }, function(data) {   
        message = "<div class='" + data.cls + "'>" + data.message +"</div>";
        jQuery("#callme_result").html(message);
         
        if (data.result == "success") {
            jQuery.Storage.set("callme-sent", data.time);
            jQuery("#callmeform .btn").attr("disabled", "disabled");
            setTimeout( function(){ jQuery("#abc").click(); }, 10000);
            setTimeout( function(){ jQuery("#callmeform .txt").val(""); }, 10000);
        }
    });
//    }
}
 
jQuery(document).ready(function(){
 
jQuery("#callmeform .txt").focus(function(){
    //jQuery(this).val("");
});
 
jQuery("#callmeform .btn").click(function(){
    jQuery("#callme_result").html("<div class='sending'>Отправка...</div>");
    setTimeout( function(){ sendMail(); }, 2000);
    //setTimeout( function(){ jQuery(this).attr('disabled', ''); }, 5000);
    return false;
});
});

текст по которому нужно кликнуть сами засунете куда вам нужно
<link rel="stylesheet" href="http://flir.su/callme/callme.css" type="text/css">
<script type="text/javascript" src="http://flir.su/callme/jquery.min.js"></script>
<script type="text/javascript" src="http://flir.su/callme/jquery.storage.js"></script>
<script type="text/javascript" src="http://flir.su/callme/callme.js"></script>

<!--<div id="callme"><input id="viewform" type="button"></div>-->
<div id="callmeform" class="hide-off"><div id="cme_cls"></div><h6><font color="#03539C">Заказать обратный звонок</font></h6>
<table cellpadding="0" cellspacing="0">
<tbody><tr><td>Ваше имя</td></tr>
<tr><td><input class="txt" maxlength="150" id="cname" value="" type="text"></td></tr>
<tr><td>Телефон</td></tr>
<tr><td><input class="txt" maxlength="150" value="+7-" id="cphone" type="text"></td></tr>
<tr><td>Вопрос или комментарий</td></tr>
<tr><td><input class="txt" maxlength="1000" id="ccmnt" type="text"></td></tr>
<tr><td>

<input class="btn" value="Перезвоните мне" type="button"></td>
</tr>
</tbody></table>
<div id="callme_result"></div>
</div>


<span id="abc">Click me</span>


остальное не менялось

petlyra5 29.08.2012 15:24

lord2kim,
Click me не работает! На странице просто текст Click me и данное слово не нажимается! Помогите!

lord2kim 29.08.2012 15:30

petlyra5, значит вы не правильно перекопировали...я же вам привел HTML и JS с которым все работает как вы хотели
давайте линк на страницу, куда вы все это поместили...

petlyra5 29.08.2012 15:36

lord2kim,
http://flir.su/test/ - внизу там "Click me"

lord2kim 29.08.2012 16:12

petlyra5, сохранил страницу на локальном...все робит...
вы jQuery код из поста №19 не скопировали в файл callme.js у себя на хосте...он у вас пустой

petlyra5 29.08.2012 16:29

lord2kim,
Спасибо большое, все работает! Только можно слово Click me сделать как-нибудь, типо ссылки! А то не понятно, то что на это надо нажимать! Спасибо еще раз!

lord2kim 29.08.2012 16:37

petlyra5, ну так оформите это дело по вашему усмотрению (или вы даже HTML не знаете?)...
главное не удалять тег <span></span> обрамляющий данный текст

petlyra5 30.08.2012 12:22

lord2kim,
Е
Цитата:

Сообщение от lord2kim
ну так оформите это дело по вашему усмотрению (или вы даже HTML не знаете?)...
главное не удалять тег <span></span> обрамляющий данный текст

Ну если честно не знаю как сделать <span id="abc" style="">Click me</span> Нужно чтобы наводя курсор мышки на Click me менялся цвет и и менялся курсор мышки!

lord2kim 30.08.2012 12:36

petlyra5, т.е. вы не знаете как у вас на странице сделана, например, ссылка НОВЫЕ МОДЕЛИ (левая колонка, первый блок под меню) ?)
<style>
a { color:slateblue; text-decoration:none; }
a:visited { color:slateblue; text-decoration:none; }
a:active { color:mediumblue; text-decoration:underline; }
a:hover { color:mediumblue; text-decoration:underline; }
</style>
<span id="abc"><a href="http://javascript.ru">Click me</a></span>

http://htmlbook.ru/html/a
http://htmlbook.ru/css/active
http://htmlbook.ru/css/hover
http://htmlbook.ru/css/visited
кст пройдитесь по разметке, у вас там полно ошибок с таблицами и body закрывается раньше чем head

petlyra5 30.08.2012 13:04

Спасибо за помощь! lord2kim, <span id="abc"><a href="http://javascript.ru">Click me</a></span> - это немного не то, что я хочу, данный код будет вести на другую страницу моего сайта! Нужно чтобы срабатывал скрипт при нажатии, но не вел на другую страницу! А выглядел как ссылка! Возможно это! Спасибо за помощь!

Deff 30.08.2012 13:14

Цитата:

Сообщение от petlyra5
выглядел как ссылка! Возможно это!

<script type="text/javascript">
function MyAlert(a) {
  alert(a.parentNode.childNodes[0].innerHTML)
}
</script>
<span><span style="display:none">Привет</span>
<a href="#" onclick="MyAlert(this);return false">Click me</a></span>


<script type="text/javascript">
function MyAlert(a) {
  alert(a.getAttribute("data"))
}
</script>

<a href="#" data="Привет ещё раз" onclick="MyAlert(this);return false">Click me</a>

petlyra5 30.08.2012 13:19

Deff,
Ага спасибо, то что надо!

dedushka 17.02.2013 16:05

Всем привет. Я этот скрипт делал и в последней версии уже можно присваивать class k.,jму объекту и по клику открывать/прятать форму. Вот пример.

Да и автор: вы платили за скрипт, чтобы убирать копирайт с него?


Часовой пояс GMT +3, время: 14:21.