<!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,' ')
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,
как вариант без 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;}
}
|
рони,
Не заморачивался, хотя изящнее ---------------------------- Вот это (a.value!=''&& b=='') Важно - иначе стереть нельзя при неправильном вводе а при parseInt(a.value, 10) - данного равенства не будет |
| Часовой пояс GMT +3, время: 22:08. |