Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.11.2012, 09:46
Новичок на форуме
Отправить личное сообщение для filosofer Посмотреть профиль Найти все сообщения от filosofer
 
Регистрация: 18.11.2012
Сообщений: 7

Цифры буквами! Готовый скрипт.
Вот готовый скрипт для отображения слов вместо цифр:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=windows-1251">
<script>
var cifir_ru= new Array("од","дв","три","четыр","пят","шест","сем","восем","девят");
var sotN_ru=new Array("сто","двести","триста","четыреста","пятьсот","шестьсот","семьмот","восемьсот","девятьсот");
var milion_ru=new Array("триллион","миллиард","миллион","тысяч");
var anDan_ru =new Array("","","","сорок","","","","","девяносто");

function SPR(x){
var sumprop = new SPRU(x);
document.form1.check.value=sumprop.XS
}

function SPRU(XS){
(XS>0? this.XS=sumPROPRU(Math.floor(XS),Math.round((XS-Math.floor(XS))*100)) : this.XS="Нулевое значение!" );
return this;
}

function sumPROPRU(xx,xx1){
var scet=4;
var cifR='';
var cfR='';
var oboR=new Array(0);
//==========================
	if (xx>999999999999999) { cfR="Густо!"; return cfR; }
	while(xx/1000>0){
		yy=Math.floor(xx/1000);
		delen=Math.round((xx/1000-yy)*1000);
		//-------------------------------
		sot=Math.floor(delen/100)*100;
		des=(Math.floor(delen-sot)>9?Math.floor((delen-sot)/10)*10:0);
		ed=Math.floor(delen-sot)-Math.floor((delen-sot)/10)*10;
		//-------------------------------
		forDes=(des/10==2?'а':'')
		forEd=(ed==1?'ин': (ed==2?'е':'') );
		ffD=(ed>4?'ь': (ed==1 || scet<3? (scet<3 && ed<2?'ин': (scet==3?'на': (scet<4? (ed==2?'а':( ed==4?'е':'')) :'на') ) ) : (ed==2?'а':( ed==4?'е':'') ) ) );
		forTys=(des/10==1? (scet<3?'ов':'') : (scet<3? (ed==1?'': (ed>1 && ed<5?'а':'ов') ) : (ed==1?'а': (ed>1 && ed<5?'и':'') )) );
		//===============================
			oprSot=(sotN_ru[sot/100-1]!=null?sotN_ru[sot/100-1]:'');
			oprDes=' '+(cifir_ru[des/10-1]!=null? (des/10==1?'': (des/10==4 || des/10==9?anDan_ru[des/10-1]:(des/10==2 || des/10==3?cifir_ru[des/10-1]+forDes+'дцать':cifir_ru[des/10-1]+'ьдесят') ) ) :'');
			oprEd=' '+(cifir_ru[ed-1]!=null? cifir_ru[ed-1]+(des/10==1?forEd+'надцать' : ffD ) : (des==10?'десять':'') );
			oprTys=' '+(milion_ru[scet]!=null && delen>0 ?milion_ru[scet]+forTys:'');
		//-------------------------------
		cifR=(oprSot.length>1?oprSot:'')+
			 (oprDes.length>1?oprDes:'')+
             (oprEd.length>1?oprEd:'')+
			 (oprTys.length>1?oprTys:'');
		oboR[oboR.length]=cifR;
		xx=Math.floor(xx/1000);
		scet-=1;
		if ( Math.floor(xx)<1 ) {	break;	}
	}
		oboR.reverse();
		for (i=0; i<oboR.length; i++){
			cfR+=oboR[i]+' ';
		}
		(cfR.length<3?cfR='ноль ':cfR);
		cfR+='рублей '+xx1+' копеек';
		return cfR.replace('  ',' ').replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}
</script>
</head>
<body>
<form name=form1 onsubmit="SPR(document.form1.summ.value); return false;">
<table width=100% >
<tr><td align=center valign=middle>
<h1>Введите сумму</h1>
<br><br>
<input name=summ type=text value="5"> 
<br><br>
<input type=button name=ru value='    Показать    ' onclick="SPR(document.form1.summ.value)">
<br>
<br>
<input name=check type=text> 
</form>
</table>
</body>
</html>

Скрипт написан не мной, да и от куда он у меня взялся, тоже не могу припомнить... Вопрос состоит в следующем:
Как сделать выполнение скрипта без кнопки?
Например:
<html>
<head>
<script>
..... // здесь сам скрипт
</script>
</head>
<body>
<input name=summ type=text value="5"> <!-- Здесь вносится значение -->
<span id="check"> </span> <!-- Здесь выводится результат -->
</body>
</html>

Последний раз редактировалось filosofer, 21.11.2012 в 10:11.
Ответить с цитированием
  #2 (permalink)  
Старый 21.11.2012, 10:27
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от filosofer
Как сделать выполнение скрипта без кнопки?
Ловить события возможного изменения поля и выполнять функцию...
Ответить с цитированием
  #3 (permalink)  
Старый 21.11.2012, 10:32
Новичок на форуме
Отправить личное сообщение для filosofer Посмотреть профиль Найти все сообщения от filosofer
 
Регистрация: 18.11.2012
Сообщений: 7

Сообщение от ksa Посмотреть сообщение
Ловить события возможного изменения поля и выполнять функцию...
Спасибо за быстрый ответ ksa! Но очень хотелось бы посмотреть как это выглядит в коде. Я ещё очень "зелен" в javascript.
Ответить с цитированием
  #4 (permalink)  
Старый 21.11.2012, 10:43
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от filosofer
очень хотелось бы посмотреть как это выглядит в коде
Что-то типа такого...

<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
function test(Val) {
	document.getElementById('check').innerHTML=Val;
};
</script>
</head>
<body>
<input name=summ type=text value="" onkeyup='test(this.value)' onchange='test(this.value)' />
<p id="check"></p>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 21.11.2012, 10:55
Новичок на форуме
Отправить личное сообщение для filosofer Посмотреть профиль Найти все сообщения от filosofer
 
Регистрация: 18.11.2012
Сообщений: 7

Спасибо за ответ!=) Не могу пока тебе карму плюсануть, так как в прошлый раз, тоже именно ты мне помог...

Последний раз редактировалось filosofer, 21.11.2012 в 11:03.
Ответить с цитированием
  #6 (permalink)  
Старый 21.11.2012, 11:20
Новичок на форуме
Отправить личное сообщение для filosofer Посмотреть профиль Найти все сообщения от filosofer
 
Регистрация: 18.11.2012
Сообщений: 7

Сообщение от ksa Посмотреть сообщение
Что-то типа такого...
Я понимаю, что уже, наверное, достал я... Но мне интересно ещё как бы сделать так, чтобы результат выдавался сразу из значения value, на случай, если он уже заполнен. Т.е. из твоего примера результат выходит, только после нажатия на клавиатуре, а как сделать, чтобы он сразу выходил из значения value?
И, пожалуйста, не "закидывайте камнями" меня за, наверное, элементарный вопрос...
Ответить с цитированием
  #7 (permalink)  
Старый 21.11.2012, 13:15
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от filosofer
а как сделать, чтобы он сразу выходил из значения value?
Как вариант...

<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
function test(Val) {
	document.getElementById('check').innerHTML=Val;
};
</script>
</head>
<body onload='test(document.getElementById("summ").value)'>
<input name='summ' id='summ' type=text value="123" onkeyup='test(this.value)' onchange='test(this.value)' />
<p id="check"></p>
</body>
</html>
Ответить с цитированием
  #8 (permalink)  
Старый 21.11.2012, 14:34
Новичок на форуме
Отправить личное сообщение для filosofer Посмотреть профиль Найти все сообщения от filosofer
 
Регистрация: 18.11.2012
Сообщений: 7

Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему скрипт не работает с данными, которые вернул другой скрипт? Rooner jQuery 3 20.09.2012 14:56
Изменить скрипт Изучаю_JS Общие вопросы Javascript 0 12.02.2012 22:05
как написать скрипт или готовый d4a1 Общие вопросы Javascript 2 24.06.2011 22:47
Прикрутить готовый jquery скрипт на wordpress ldbl Работа 1 23.08.2010 22:01
Прошу "перевести" готовый скрипт xxxJob AJAX и COMET 1 19.03.2010 23:38