Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 06.02.2013, 01:09
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<!DOCTYPE HTML>
<html>
  <head>
<script>
    	function Num_calc(a) {
    	    	var Max_track = 20; //Максимальное кол-во, вводимое за один раз;
    	    	var b = a.value.replace(/^(\d*)$/,'$1');//alert( +b)
    	    	a.value=a.value.replace(/\s|[^\d]/g,'');
    	    	if((a.value!=''&& b=='')||b.replace(/^\d*$/,'')!=''){alert('Неверный Ввод!');return;}
    	    	if(+b%(Max_track+1)!=b){alert('Число более '+Max_track+'!');a.value=(+a.value)%(Max_track);return;}
    	}
    	function days_calc() {
    	    	var a = document.getElementById('num_track');
    	    	var N = +a.value;
    	    	a.value='';
    	    	for(var i=0; i<N; i++) {
    	    	   var track_list = document.createElement('div');
    	    	   var DigLen=3;if(i+1>9){DigLen=1;}; DigLen = 'xxx'.substr(0,(DigLen)).replace(/x/g,'&nbsp;')
    	    	   track_list.innerHTML = '<p> Название песни №'+(i+1)+DigLen+'<input type="text">   url: <input type="text"></p>';
    	    	   document.getElementById('Wrp_Track_List').appendChild(track_list);
    	    	}
    	}

</script>
 </head>
  <body>



<div id="Wrp_Track_List"></div>

<div style="color:#7F9DB9;max-width:400px;float:left;"><hr style="color:#7F9DB9;width:400px;"></div><br>
<p><input type="text" maxlength="3" size="3" id="num_track" onkeyup="Num_calc(this)" oninput="Num_calc(this)"> Введите кол-во песен (не более 20 за раз)</p>


    <p><input type="submit" value="Продолжить" onclick="days_calc()" id="submit"></p>


  </body>
</html>

Последний раз редактировалось Deff, 06.02.2013 в 05:45.
Ответить с цитированием
  #12 (permalink)  
Старый 06.02.2013, 01:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,076

Deff,
как вариант без RegExp
function Num_calc(a) {
    	    	var Max_track = 20; //Максимальное кол-во, вводимое за один раз;
    	    	var b = parseInt(a.value, 10)
    	    	if(!b){alert('Неверный Ввод!');a.value = '';return;}
    	    	if(b > Max_track){alert('Число более '+Max_track+'!');a.value=b%Max_track;return;}
    	}
Ответить с цитированием
  #13 (permalink)  
Старый 06.02.2013, 01:36
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

рони,
Не заморачивался, хотя изящнее
----------------------------
Вот это (a.value!=''&& b=='') Важно - иначе стереть нельзя при неправильном вводе
а при parseInt(a.value, 10) - данного равенства не будет
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматическое создание формы с помощью json. Пак ExtJS 6 01.12.2011 16:01
Создание формы для операций с данными Alexander43 Элементы интерфейса 1 06.10.2011 09:09
в модальном окне не работает скрипт проверки формы necroms jQuery 1 11.03.2011 15:14
Валидация формы dmsuslov jQuery 4 05.11.2010 16:12
создание формы в extjs underW ExtJS 4 16.03.2010 12:22