Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.08.2015, 15:05
Новичок на форуме
Отправить личное сообщение для koekto93 Посмотреть профиль Найти все сообщения от koekto93
 
Регистрация: 18.08.2015
Сообщений: 8

Отчистка формы и управление выделенным текстом
Добрый день, подскажите пожалуйста, есть код:
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf8'>
<link rel="stylesheet" href="http://sergey-oganesyan.ru/wp-content/uploads/2014/01/stylepromer.css" type="text/css" />
<title>Всплывающее окно на javascript</title>
<style type="text/css">
#wrap{
		display: none;
		opacity: 0.8;
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		padding: 16px;
		background-color: rgba(1, 1, 1, 0.725);
		z-index: 100;
		overflow: auto;
	}
	
	#window{
		width: 400px;
		height: 270px;
		margin: 50px auto;
		display: none;
		background: #fff;
		z-index: 200;
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		padding: 16px;
		border-radius: 7px;
	}
	
	#comment {
	width:400px;
	height:60px;
	border-radius: 4px;
	border-color: black;
	}
	
	#mail {
	border-radius: 4px;
	border-color: black;
	}
	
	.myButton {
		margin-top:40px;
	}
	
	button a {
		text-decoration: none;
	}
</head>
<body>
		
					<!-- Задний прозрачный фон-->
		<div onclick="show('none')" id="wrap"></div>

					<!-- Само окно-->
		<div id="window">
				
			<center id="top">	
				<FORM NAME="myForm">
					<input name="myArea" id="Area" type="text" size="50" disabled>
				</FORM>	
				<!-- <FORM NAME="myForm">
					<TEXTAREA NAME="myArea" COLS="40" ROWS="4"></TEXTAREA>
				</FORM> -->

				
  
			</center>
			
			<div>
				<p>Комментарии:</p>	
				<textarea id="comment" type="text"></textarea>
			</div>
			
			<div>
				<p>E-mail(по желанию)</p>	
				<input id="mail" type="text" size="65">
			</div>
			
			<center>	
				<button class="myButton"><a href="mailto:koekto93@mail.ru">Отправить</a></button> 
				<button class="myButton" onclick="show('none')">Отмена</button>
			</center>
				
		</div>
			
		<div>dfgdfgdgdfgdfgdfgdfgdfgdfgdgdfgdfgggsdasdasdasdawetrertytytiyu</br>gdgdfgdfgdfgdfgdfgdfgdgdfgdfgggsdasdasdasda</br>
		gdgdfgdfgdfgdfgdfgdfgdgdfgdfgggsdasdasdasda</br>
		gdgdfgdfgdfgdfgdfgdfgdgdfgdfgggsdasdasdasda</br>
		</div>
		
		
		
		
</body>
</html>


<script type="text/javascript">

					//Функция показа
		function show(state){

			document.getElementById('window').style.display = state;			
			document.getElementById('wrap').style.display = state; 			
		}
		
		
		function runOnKeys(func) {
			var codes = [].slice.call(arguments, 1);

			var pressed = {};

			document.onkeydown = function(e) {
				e = e || window.event;

			pressed[e.keyCode] = true;

			for (var i = 0; i < codes.length; i++) { // проверить, все ли клавиши нажаты
				if (!pressed[codes[i]]) {
				return;
				}
			}

          // во время показа alert, если посетитель отпустит клавиши - не возникнет keyup
          // при этом JavaScript "пропустит" факт отпускания клавиш, а pressed[keyCode] останется true
          // чтобы избежать "залипания" клавиши -- обнуляем статус всех клавиш, пусть нажимает всё заново
			pressed = {};

			func();

			};

			document.onkeyup = function(e) {
				e = e || window.event;

			delete pressed[e.keyCode];
			};

		}

		runOnKeys(
			function() {
				show('block');
		},
			"Q".charCodeAt(0),
			"W".charCodeAt(0)
		);
			
		</script>
		
		<SCRIPT LANGUAGE="JavaScript">
		/* функция занимается добавлением выделенного текста в форму */
		function display(f) {
			if (!document.getSelection)
			return;
		var str = document.getSelection();
			document.myForm.myArea.value = str;
		}

		 if (window.Event)
			 document.captureEvents(Event.MOUSEUP);
			 document.onmouseup = display; 
		</SCRIPT>


Суть всего этого балагана в том, что мы выделяем какой-то текст на странице и нажимаем сочетание клавиш Q+W, в результате открывается окошко, в котором есть несколько текстовых форм, в одно из которых и записывается выделенный текст.

Проблема - при нажатии на любую другую форму текст из формы, в которую он изначально записался, пропадает. А также, если написать что-нибудь в поля комментарий и емаил не пропадает при выходе из этого окошка, а также при перезагрузке страницы.
Ответить с цитированием
  #2 (permalink)  
Старый 25.08.2015, 15:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от koekto93
document.onmouseup = display;
runOnKeys(
            function() {
                show('block');
*!*
                display();
*/!*
        },
            "Q".charCodeAt(0),
            "W".charCodeAt(0)
        );
Ответить с цитированием
  #3 (permalink)  
Старый 25.08.2015, 15:40
Новичок на форуме
Отправить личное сообщение для koekto93 Посмотреть профиль Найти все сообщения от koekto93
 
Регистрация: 18.08.2015
Сообщений: 8

Спасибо большое! Помогло!
Подскажите пожалуйста, а как отчистить поле комментария и email при обновлении страницы?
Ответить с цитированием
  #4 (permalink)  
Старый 25.08.2015, 17:52
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от koekto93
как отчистить поле комментария и email при обновлении страницы?
в window.onload запустить обнуление нужных полей
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ajax передача отдельной переменной и формы dmitriy94 AJAX и COMET 16 16.01.2015 23:33
Четыре одинаковые формы на странице с разной версткой varanika jQuery 2 19.10.2014 13:14
проверка формы не работает в ie begelme Javascript под браузер 6 13.08.2013 01:00
Работа с текстом, выделенным в textarea (opera+ff) Белый шум Общие вопросы Javascript 12 21.01.2012 01:54
Работа с выделенным текстом. lancer Общие вопросы Javascript 1 21.03.2008 16:55