Javascript-форум (https://javascript.ru/forum/)
-   Я не знаю javascript (https://javascript.ru/forum/ya-ne-znayu-javascript/)
-   -   Помогите новичку (https://javascript.ru/forum/ya-ne-znayu-javascript/30399-pomogite-novichku.html)

Gozar 03.08.2012 00:53

Цитата:

Сообщение от dmpol18
о, теперь понятно)

Ты и || - или неправильно понимаешь ;)

Примеры ещё раз посмотри.

dmpol18 03.08.2012 00:58

Спасибо! заработало:)

а что с кнопками в форме? как клик с функцией совместить?

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>URL</title>
<script type="text/javascript">
function urlCode()
{
	var urlCode = document.getElementById("urlCode").value;
	var urlCode = urlCode.replace(/\s/g,"_");
	var urlCode = urlCode.replace(/\./g,"-")
	var urlCode = urlCode.replace(/\,/g,"-");
	var urlCode = urlCode.replace(/[а-яА-Я]/g,"");
	var urlCodeResult = document.getElementById("urlCodeResult");
	urlCodeResult.style.textTransform = "lowercase";
	var lastChar = urlCode.charAt(urlCode.length - 1);
	if (urlCode)
	{
		var i = 1;
		while (i>0)
		{	
			if(lastChar == '-' || lastChar == '_')
				{
					urlCode = urlCode.substring(0,urlCode.length-1);
					lastChar = urlCode.charAt(urlCode.length - 1);
				}
			else 
			{
				i = 0
			}
		}
		urlCodeResult.appendChild(document.createTextNode(urlCode));	
	}
	else
	{
			urlCodeResult.appendChild(document.createTextNode('Пустое поле'));
	}
}
function reset()
	{	
		document.getElementById('urlCodeResult').innerHTML = "";
	}
</script>
</head>

<body>
<h2>URL</h2>
<form id="urlForm" onSubmit="urlCode()">
	<input type="text" id="urlCode">
    <input type="button" value="Convert" onClick="urlCode()"><a href="javascript:urlCode()">Convert</a><br>
    <input type="reset" value="Reset" onClick="reset()"> <a href="javascript:reset()">Reset</a>
</form>
<section>
	<p id="urlCodeResult"></p>
</section>
</body>
</html>

Gozar 03.08.2012 01:36

Цитата:

Сообщение от dmpol18
как клик с функцией совместить?

чтобы отменить переход по ссылке, нужно дописать return false; после urlCode();

<a href="" onclick="urlCode();return false;"></a>

dmpol18 03.08.2012 01:44

нет, есть форма
<form name="urlConvForm" id="urlForm" onSubmit="urlCode()">
	<input type="text" id="urlCode">
    <input type="button" value="Convert" onclick="urlCode()"><a href="urlCode()">Convert</a><br>
    <input type="reset" value="Reset" onclick="resetAll()"> <a href="reset()">Reset</a>
</form>

но при клике на кнопки функции не запускаются - смотрел примеры вроде написано правильно и пробовал разные варианты...

например чтобы нажал на резет - очистилась форма и параграф обнулился,
нажал конверт - собственно основная функция запустилась...

dmpol18 03.08.2012 01:45

Цитата:

Сообщение от Дзен-трансгуманист (Сообщение 194176)
dmpol18,
Когда снабжаете свои сообщения html-кодом, то по возможности меняйте тэг [html] на [html run], чтобы сделать его запускаемым - и чтобы остальные, глядя на него в действии, могли проще понять, какие там проблемы.

С кнопками все в порядке, а вот переменную urlCode следует назвать как-нибудь иначе, потому что ее имя конфликтует с именем функции. Или переименовать саму функцию.

сейчас попробую...

dmpol18 03.08.2012 01:49

Большое спасибо Дзен-трансгуманист и Gozar конечно!
все заработало!
кому интересно прикрепляю код...
еще идея возникла чтобы через минуту автоматически все очищалось,
сейчас с таймерами буду возиться...

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>URL</title>
<script type="text/javascript">
function urlCodeFunc()
{
	var urlCode = document.getElementById("urlCode").value;
	var urlCode = urlCode.replace(/\s/g,"_");
	var urlCode = urlCode.replace(/\./g,"-")
	var urlCode = urlCode.replace(/\,/g,"-");
	var urlCode = urlCode.replace(/[а-яА-Я]/g,"");
	var urlCodeResult = document.getElementById("urlCodeResult");
	urlCodeResult.style.textTransform = "lowercase";
	var lastChar = urlCode.charAt(urlCode.length - 1);
	var firstChar = urlCode.charAt(0);
	
	document.getElementById('urlCodeResult').innerHTML = "";
	if (urlCode)
	{
		var i = 1;
		while (i>0)
		{	
			if(lastChar == '-' || lastChar == '_')
				{
					urlCode = urlCode.substring(0,urlCode.length-1);
					lastChar = urlCode.charAt(urlCode.length - 1);
				}
			else 
			{
				i = 0
			}
		}
		i = 1;
		while (i>0)
		{	
			if(firstChar == '-' || firstChar == '_')
				{
					urlCode = urlCode.substring(1);
					firstChar = urlCode.charAt(0);
				}
			else 
			{
				i = 0
			}
		}
		urlCodeResult.appendChild(document.createTextNode(urlCode));	
	}
	else
	{
			urlCodeResult.appendChild(document.createTextNode('Пустое поле или неправильное значение'));
	}
	
	if (document.getElementById('autoClear').checked)
	{
		setTimeout('resetAll();', 8000);
	}
	if (document.getElementById('textFormClear').checked)
	{
		document.getElementById('urlCode').value = "";
	}
}
function resetAll()
	{	
		document.getElementById('urlCodeResult').innerHTML = "";
		document.getElementById('urlCode').value = "";
	}
</script>
</head>

<body>
<h2>Формирование URL-адреса</h2>
<form name="urlConvForm" id="urlForm" onSubmit="urlCodeResult()">
	<input type="text" id="urlCode">
    <input type="button" value="Convert" onclick="urlCodeFunc()"><br>
    <input type="reset" value="Очистить" onclick="resetAll()">
</form>
<fieldset>
<legend>Настройки</legend>
<form>
 <input type="checkbox" id="autoClear">Автоматически очищать форму<br>
    <input type="checkbox" id="textFormClear">Стирать изначальное значение при конвертации
</form>
</fieldset>
<section>
<h2>Результат:</h2>
	<p id="urlCodeResult"></p>
</section>
</body>
</html>

dmpol18 03.08.2012 02:18

Цитата:

Сообщение от Дзен-трансгуманист (Сообщение 194181)
<form name="urlConvForm" id="urlForm" onSubmit="urlCode()">
- вот здесь забыли исправить.

исправил, правда там уже не сабмит, а обычная кнопка...

с копированием в буфер обмена я так понял лучше пока не связываться?

dmpol18 03.08.2012 02:47

Еще раз спасибо,
как говорится - на ошибках учатся...
ну и по учебникам конечно тоже:)


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