Инструменты пользователя

Инструменты сайта


programming:js:ctrl_enter_send_report

Отправка сообщений об ошибке с сайта по CTRL+Enter

function addHelpDeskAction()
{
	$(document).keyup(function(e)
		{
			// CTRL + Enter
			//if (e.ctrlKey && (e.keyCode==10 || e.keyCode == 13))
			// Opera + Shift + Enter
			//if ($.browser.opera && e.shiftKey && (e.keyCode==10 || e.keyCode == 13))
			if (e.shiftKey && (e.keyCode==10 || e.keyCode == 13))
			{
				var text = xpGetSelectedText();
				var from = window.location.protocol + "//" + window.location.host + "" + window.location.pathname + "" + window.location.search;
				var url = "/abuse_popup.php?text=" + encodeURIComponent(text) + "&from=" + encodeURIComponent(from);
				var newWindow = window.open(url, "HelpDeskTable", "height=500,width=500,scrollbars=yes");
			}
		});
}


if (document.getElementById){
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}

function SwitchMenu(obj){
	if(document.getElementById){
	var el = document.getElementById(obj);
	var ar = document.getElementById("masterdiv").getElementsByTagName("span");
		if(el.style.display != "block"){ 
			for (var i=0; i<ar.length; i++){
				if (ar[i].className=="submenu") 
				ar[i].style.display = "none";
			}
			el.style.display = "block";
		}else{
			el.style.display = "none";
		}
	}
}

function moveLyr(lyrObj,x,y) {
	lyrObj.top = y;
	lyrObj.left = x;
}

function mouseMove(e) {
	if (lyr) moveLyr(lyr,event.x + xOs + document.body.scrollLeft,event.y + yOs + document.body.scrollTop);
}

function showTip(which,MPX,MPY) {
	lyr = document.all[which].style;
	moveLyr(lyr,MPX + xOs + document.body.scrollLeft,MPY + yOs + document.body.scrollTop);
	document.onmousemove = mouseMove;
	lyr.visibility = "visible";

}

function hideTip(which) {
	document.all[which].style.visibility = "hidden";
	lyr=null;
}

// JS Tree
function openTree(link, openSub)
{
    ctExposeItem(0,link);
    if (openSub)
        openSubLevel(0,link);
}

function openSubLevel (treeIndex, link)
{
        if (treeIndex < 0 || treeIndex >= _ctTreeList.length)
                return;
        var tree = _ctTreeList[treeIndex];
        var endIndex = tree.endIndex;
        var i;
        for (i = tree.beginIndex; i < endIndex; ++i)
        {
                if (_ctItemList[i].length > 2 &&
                        _ctItemList[i][2] == link)
                {
                    var item = ctGetObject ('ctItemID' + (_ctTreeList[treeIndex].beginIndex + i)).parentNode;
                    if (!item)
                       return null;
                    ctOpenFolder(item);
                    return true;
                }
        }
}

function findElementByID(id, win)
{
	// current window
	var w = (win != null) ? win : window; 
	var field = null;
	
	var isFirst = true;
	do
	{
		if (!isFirst)
		{
			w = w.parent;
		}
		field = w.document.getElementById(id);
		isFirst = false;
	}
	while (field == null && w != null && w.parent != null && w != w.top && w.parent.location != w.location);
	
	// Don't found? Get opener window!
	if (field == null && w != null && w.opener != null)
	{
		field = findElementByID(id, w.opener);
	}
	
	return field;
}


function openGoodsWindow(goods_id, barcode, inline)
{
	if (inline)
	{
	}
}


//////

function getAbsolutePos(el) 
{
	var r = { x: el.offsetLeft, y: el.offsetTop };
	if (el.offsetParent)
		{
		var tmp = getAbsolutePos(el.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
		}
	return r;
}


//////////////

// определение типа браузера
// if ($is.IE) {....} или if ($is.IE>6) {....} или if ($is.Opera<9) {....}
(function(){
var ua = navigator.userAgent, av = navigator.appVersion, v, i;
$is={};
$is.Opera = !!(window.opera && opera.buildNumber);
$is.WebKit = /WebKit/.test(ua);
$is.OldWebKit = $is.WebKit && !window.getSelection().getRangeAt;
$is.IE = !$is.WebKit && !$is.Opera && (/MSIE/gi).test(ua) && (/Explorer/gi).test(navigator.appName);
$is.IE6 = $is.IE && /MSIE [56]/.test(ua);
$is.IE5 = $is.IE && /MSIE [5]/.test(ua);
$is.Gecko = !$is.WebKit && /Gecko/.test(ua);
$is.Mac = ua.indexOf('Mac') != -1;
for (i in $is) if (!$is[i]) $is[i]=NaN;
if (!$is.IE5) v = (ua.toLowerCase().match(new RegExp(".+(?:rv|it|ra|ie)[\\/: ]([\\d.]+)"))||[])[1];
switch (true) {
    case ($is.WebKit): v=parseInt(v, 10);$is.WebKit=v=v>599?4:v>499?3:v>399?2:1;break;
    case ($is.Opera): $is.Opera =v=v||9;break;
    case ($is.Gecko): $is.Gecko =v=v.substr(0,3)||1.8;break;
    case ($is.IE): $is.IE =v= window.XMLHttpRequest ? 7 : (/MSIE [5]/.test(av)) ? (/MSIE 5.5/.test(av))?5.5:5 : 6;
    };
$is.verb = v;
$is.ok = !!($is.Opera>=9 || $is.IE>=6 || $is.Gecko || $is.WebKit>2);
$is.debug = /&debug$/.test(location.search);
})();

///////////

function dump(arr,level) {
    var dumped_text = "";
    if(!level) level = 0;
    //The padding given at the beginning of the line.
    var level_padding = "";
    for(var j=0;j<level+1;j++) level_padding += "    ";
    if(typeof(arr) == 'object') { //Array/Hashes/Objects
        for(var item in arr) {
            var value = arr[item];
            if(typeof(value) == 'object') { //If it is an array,
                dumped_text += level_padding + "’" + item + "’ …\n";
                dumped_text += dump(value,level+1);
            } else {
                dumped_text += level_padding + "’" + item + "’ => \"" + value + "\"\n";
            }
        }
    } else { //Stings/Chars/Numbers etc.
        dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
    }
    return dumped_text;
}
function print_r(a)
{
	alert(dump(a));
}
///////////

images_preload = new Array();
function image_preload(src)
{
	found = false;
	for (i=0; i<images_preload.length; i++)
	{
		ind = images_preload[i].src.indexOf(src);
		
		if (ind >= 0)
		{
			found = true;
		}
	}
	
	if (!found)
	{
		pi = new Image();
		pi.src = src;
		images_preload.push(pi);
	}
}


<html><head>
    <title>Работа над ошибками</title>
    <META HTTP-EQUIV="content-type" CONTENT="text/html; charset=utf-8">
    


</head>
<body bgcolor="#FFFFFF" text="#333333" link="#333333" vlink="#333333" leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0" onLoad="">


<style type="text/css">
	form
	{
		padding: 0;
		margin: 0;
	}
	.title
	{
		font-weight: bold;
		color: #777777;
	}
	.box
	{
		width: 100%;
	}
	.note
	{
		color: #797979;
	}
</style>
<script language="JavaScript" type="text/javascript">
var currentTab = -1;
$(document).ready(function() {
		$('input[type=radio]').change(function(node)
			{
				var value = $(this).val();
				currentTab = value;
				
				// enter contact info
				if (value == 1)
				{
					$('.contactTab').css("display", "table-row");
					$('.loginTab').css("display", "none");
				}
				// login
				else if (value == 2)
				{
					$('.contactTab').css("display", "none");
					$('.loginTab').css("display", "table-row");
				}
			});
		$('.contactTab').css("display", "none");
		$('.loginTab').css("display", "none");
		$(window).focus(function()
			{
				// reload page
				if (currentTab == 2)
				{
					$('input[name=active]').val(2); // for fake submit
					$("#claimForm").submit();
				}
			});
		// check
		$('#claimForm').submit(function()
			{
				var radio = $("input:radio");
				var checked = $("input:radio:checked");
				if (radio.length > 0 && checked.length == 0)
				{
					alert("Необходимо выбрать тип обратной связи");
					return false;
				}
				
				return true;
			});
});

</script>


<div class="article_dotline"><img src="/i/0.gif" alt="" width="1" height="1" border="0"></div>

	<form method="post" id="claimForm">
	<input type="hidden" name="active" value="1">
	<table width="100%" cellpadding="15" cellspacing="0">
	<tr>
		<td>
		
		<table width="100%" cellpadding="5" cellspacing="0">

		<tr>
			<td>
		
		<span class="title">Адрес страницы:</span><br>
		<textarea class="box" rows="3" name="data[address]">url</textarea>
		
			</td>
		</tr>
		<tr>
			<td>

		
		<span class="title">Ошибка:</span><br>
		<textarea class="box" rows="3" name="data[error]">. Обнаружив неточность в тексте, выделите е</textarea>
		
			</td>
		</tr>
		<tr>
			<td>
		
		<span class="title">Комментарий:</span><br>

		<textarea class="box" rows="3" name="data[comment]"></textarea>
		
			</td>
		</tr>
					<tr>
				<td align="center">
				
				<table cellpadding="2" cellspacing="0">
				<tr>
					<td><input type="radio" name="data[type]" value="1" style="border: 0"></td>

					<td>ввести контактные данные</td>
					<td><input type="radio" name="data[type]" value="2" style="border: 0"></td>
					<td>войти на сайт под своим логином</td>
				</tr>
				</table>
	
				</td>
			</tr>
						<tr class="contactTab">

				<td>
				<span class="title">E-mail:</span><br><input class="box" type="text" name="data[agentEmail]" value="">
				<br>
				<span class="note">Заполняется для получения отчёта об исправлении</span>
				</td>
			</tr>
			<tr class="loginTab">
				<td>

				<p>Перейдите <a href="/" target="_blank">на главную страницу</a> для ввода логина и пароля.</p>
				<p>После чего вернитесь в это окно.</p>
				</td>
			</tr>
				<tr>
			<td align="center">

				<script type="text/javascript">image_preload('/i/design3/send_btn_hover.png');</script>
				<input type="image" src="/i/design3/send_btn.png" onMouseOver="this.src='/i/design3/send_btn_hover.png';" onMouseOut="this.src='/i/design3/send_btn.png';" style="border: 0px;">
			</td>
		</tr>
		</table>

		</td>
	</tr>
	</table>

	</form>

</body></html>


programming/js/ctrl_enter_send_report.txt · Последнее изменение: 2017/03/27 11:28 — artur

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki