Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   генерация чисел (https://javascript.ru/forum/css-html/30880-generaciya-chisel.html)

BARABANTEMO 19.08.2012 00:28

генерация чисел
 
<input type="text" name="vtb2" id="vtb2" size="1" maxlength="3" value="640">

<input type="text" name="vtb3" id="vtb3" size="1" maxlength="3" value="540" readonly="true">
&nbsp;
<select id="flv" onchange="checkforma();">
<option value="43" selected>4:3</option>
<option value="169">16:9</option>
</select>

<script type="text/javascript">	
checkforma = function() {
if(document.getElementById('flv').value=='43'){
document.getElementById('vtb3').value=Math.round(document.getElementById('vtb2').value/4)*3;
}
if(document.getElementById('flv').value=='169'){
document.getElementById('vtb3').value=Math.round(document.getElementById('vtb2').value/16)*9;
}
}
checkforma
document.onkeyup = checkforma
</script>

когда в первое поле пишешь ширину то второе поле само генерирует высоту надо чтобы высота всегда была на 100 пикселей меньше чем ширина но никак не пойму как это сделать пожалуйста помогите

bot87 19.08.2012 09:16

<input type="text" name="vtb2" id="vtb2" size="1" maxlength="3" value="640" onkeyup="fn()">
 
<input type="text" name="vtb3" id="vtb3" size="1" maxlength="3" value="540" readonly="true">


 
<script>  
function fn(){
	inputs=document.getElementsByTagName('input');
	inputs[1].value=parseInt(inputs[0].value)-100
	
	}


</script>

Возможно вместо события onkeyup лучше использовать onblur

BARABANTEMO 19.08.2012 23:26

bot87,
не работает

Deff 20.08.2012 02:56

<input type="text" name="vtb2" id="vtb2" size="4" maxlength="3" value="640" oninput="fn(this)">
 
<input type="text" name="vtb3" id="vtb3" size="4" maxlength="3" value="540" readonly="true">


 
<script>  
function fn(a){
	input=document.getElementById('vtb3');
	var b = parseInt(a.value);
 	    if(!isNaN(b)){
	      input.value=parseInt(b)-100;
	    }
}


</script>


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