ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #2221  
Старый 12.03.2010, 21:47
Аватар для astrologer
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 808


По умолчанию

Цитата:
Сообщение от оlbaneс  
да через алерт работает, но у меня другой случай - ввод данных в форму и вывод через document
вот сам скрипт без хтмл
Код:
	function two()
	{
	 var a=0;
	 	 x = document.forms[0].elements['x'].value;
		  x+=1;
		for (var i=0; i<x; i++){ a+=i;}
     document.getElementById('qqq').innerHTML = 'Результат ='+a   ;
	}
а что оно выводит я писал выше. какая-то безумная магия.
x - это строка. Соответственно при (x += 1) происходит не сложение, а конкатенация и получается "11" вместо 2 и т. п. При сравнении (i < x) оба аргумента преобразуется к числовому типу (этого не происходит только если с обеих сторон - строки). Далее всё достаточно очевидно.

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

  #2222  
Старый 12.03.2010, 21:57
Аватар для оlbaneс
оlbaneс
Moderator - Level 7
Регистрация: 05.11.2007
Сообщений: 894
Провел на форуме:
5609275

Репутация: 1474


По умолчанию

Паш, безумный ад. я пробовал и так. и даже думал что она их соединяет и писал так a=a+i*1
а твой код заработал. выяснил методом тыка , что все дело в выражени for (var i=0; i<x; i++) i<x -вот так пишет всякую херню, а вот так работает нормально i<=x .
все дело в знаке =. 0_0.


2 астрологер. пока метод тыка осваивал ты ответ написал. в том то и дело не происходила конкатенация. если вводил 1 полчал 55 если 4 получал 820. даже не представляю как она считала.

Последний раз редактировалось оlbaneс; 12.03.2010 в 22:01..
 
Ответить с цитированием

  #2223  
Старый 12.03.2010, 22:10
Аватар для astrologer
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме:
3069349

Репутация: 808


По умолчанию

Цитата:
Сообщение от оlbaneс  
в том то и дело не происходила конкатенация
Как будто у неё выбор есть. Достаточно проверить тип и значение x и всё станет ясно:
Код:
<script>

function fn()
{
  var a = 0;
  var x = document.forms[0].elements['x'].value;
  x += 1;

  alert('x: ' + typeof x + ': ' + x);
  for (var i = 0; i < x; i++){ a+=i; }
  alert('i: ' + i);

  document.getElementById('qqq').innerHTML = 'Результат ='+a   ;
}

</script>
<form>
  <input name="x" id="x" onchange="fn()">
</form>
<pre id="qqq"></pre>
Цитата:
если вводил 1 полчал 55 если 4 получал 820. даже не представляю как она считала.
Так и считала, для "11" и "41" соответственно.
 
Ответить с цитированием

  #2224  
Старый 13.03.2010, 16:47
Аватар для Tesson
Tesson
Участник форума
Регистрация: 27.12.2009
Сообщений: 126
Провел на форуме:
1170081

Репутация: 63
Отправить сообщение для Tesson с помощью ICQ
По умолчанию

Не могу сделать транслит вот код и http://tesson.tk/translit.js
PHP код:
<html>
<
head>
<
title>Транслит</title>
<
script type='text/javascript' src='http://tesson.tk/translit.js'></script>
</
head>
<
body>

Транслит:<input type="checkbox" name="transl" id="transl">
<
input type="text" id="text" onkeypress="if($('#transl').attr('checked')) translate_letter(event, this, rules=1);">

</
body>
</
html
что не так сделал?

Последний раз редактировалось Tesson; 13.03.2010 в 17:41..
 
Ответить с цитированием

  #2225  
Старый 13.03.2010, 17:09
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

Код:
<script>
var rusChars = new Array('а','б','в','г','д','е','ё','ж','з','и','й',  'к','л','м','н','о','п','р','с','т','у','ф','х','ч  ','ц','ш','щ','э','ю','\я','ы','ъ','ь', ' ', '\'', '\"', '\#', '\$', '\%', '\&', '\*', '\,', '\:', '\;', '\<', '\>', '\?', '\[', '\]', '\^', '\{', '\}', '\|', '\!', '\@', '\(', '\)', '\-', '\=', '\+', '\/', '\\');
var transChars = new Array('a','b','v','g','d','e','jo','zh','z','i','j  ','k','l','m','n','o','p','r','s','t','u','f','h',  'ch','c','sh','csh','e','ju','ja','y','', '', ' ', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '');
var from = "";

function convert2EN()
  {
  from = document.getElementById("Message").value;
  from = from.toLowerCase();
  var to = "";
  var len = from.length;
  var character, isRus;
  for(var i=0; i < len; i++)
    {
    character = from.charAt(i,1);
    isRus = false;
    for(var j=0; j < rusChars.length; j++)
      {
      if(character == rusChars[j])
        {
        isRus = true;
        break;
        }
      }
    to += (isRus) ? transChars[j] : character;
    }
   document.form1.Message.value = to; 
  }
</script>

<FORM NAME="form1">
<textarea name="Message" id="Message" cols="30" rows="5" class="text"></textarea><br> 
<input type="button" value="Транслит" onclick="convert2EN()">
</FORM>
 
Ответить с цитированием

  #2226  
Старый 13.03.2010, 17:18
Аватар для Tesson
Tesson
Участник форума
Регистрация: 27.12.2009
Сообщений: 126
Провел на форуме:
1170081

Репутация: 63
Отправить сообщение для Tesson с помощью ICQ
По умолчанию

Pashkela, надо через checkbox и через мой tesson.tk/translit.js

Последний раз редактировалось Tesson; 13.03.2010 в 17:23..
 
Ответить с цитированием

  #2227  
Старый 13.03.2010, 18:51
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

у тебя функция есть, модифицируй её как хочешь, готовый код за тебя никто писать не будет
 
Ответить с цитированием

  #2228  
Старый 13.03.2010, 19:23
Аватар для Tesson
Tesson
Участник форума
Регистрация: 27.12.2009
Сообщений: 126
Провел на форуме:
1170081

Репутация: 63
Отправить сообщение для Tesson с помощью ICQ
По умолчанию

Цитата:
Сообщение от Pashkela  
у тебя функция есть, модифицируй её как хочешь, готовый код за тебя никто писать не будет
помогут другие если не ты
 
Ответить с цитированием

  #2229  
Старый 13.03.2010, 23:09
Аватар для Deathdreams
Deathdreams
Постоянный
Регистрация: 08.11.2008
Сообщений: 498
Провел на форуме:
2603363

Репутация: 278
Отправить сообщение для Deathdreams с помощью ICQ
По умолчанию

Цитата:
Сообщение от Tesson  
помогут другие если не ты
:LOL:
 
Ответить с цитированием

  #2230  
Старый 14.03.2010, 03:19
Аватар для GhOsT_MZ
GhOsT_MZ
Новичок
Регистрация: 08.03.2010
Сообщений: 3
Провел на форуме:
3912

Репутация: 0
По умолчанию

Цитата:
Сообщение от Tesson  
Pashkela, надо через checkbox и через мой tesson.tk/translit.js
Зачем?О_о Ведь он достаточно громоздкий, а Pashkela предложил более простой и производительный вариант. Или в твоем скрипте есть какой-то особенный функционал, без которого не обойтись?
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Delphi]/[Pascal] Задай вопрос, получи ответ Isis С/С++, C#, Delphi, .NET, Asm 6762 17.06.2010 21:23
Proxy FAQ foreva Чужие Статьи 12 04.01.2008 12:15
ЕсТь ВоПрос Guma Чаты 4 26.10.2005 21:48



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ