|
|
|
| Здравствуйте.
Необходима функция для WM обменника.
Допустим у нас курс 1 WMZ = 30 WMR.
Имеется два текстовых поля.
<input name="wmz" type="text"> <input name="wmr" type="text">
|
Допустим в первое поле мы вводим 12.5, а во втором уже должно автоматическо заполниться 375.
И так-же наоборот, допустим во второе поле ввели 15.5, а в первом поле должно автоматически заполниться 0.516. | |
|
|
|
|
|
|
|
для: class
(15.03.2010 в 03:11)
| |
<script type='text/javascript'>
function convert(a, w){
kurs = 30; //отношение валют
arg = a.value; // значение редактируемого поля
fld = (w == 1 ? document.getElementById('wmz') : document.getElementById('wmr')); // определяется поле-цель
if(!isNaN(arg)) { fld.value = (w == 1 ? (arg / kurs).toFixed(2) : (arg * kurs).toFixed(2)); } //проверка на числовое значение исходного поля и вывод в целевое
else fld.value = 'Ошибка';
}
</script>
рубли <input id=wmr type="text" onkeyup="convert(this, 1);">
нерубли <input id=wmz type="text" onkeyup="convert(this, 2);">
|
| |
|
|
|
|
|
|
|
для: DJ Paltus
(15.03.2010 в 10:19)
| | спасибо | |
|
|
|
|
|
|
|
для: class
(15.03.2010 в 03:11)
| |
<input name="wmz" type="text" onchange="calculate(this)"> <input name="wmr" type="text" onchange="calculate(this)">
<script>
function calculate(field)
{
var wmz2wmr = 30;
var field2 = field.name == 'wmz'? 'wmr' : 'wmz';
var curr = field.value*1;
curr = isNaN(curr)? 0 : curr;
curr = field2 == 'wmr'? curr * wmz2wmr : curr / wmz2wmr;
curr = Math.floor(curr*1000)/1000;
document.getElementsByName(field2)[0].value = curr;
}
</script>
|
| |
|
|
|
|
|
|
|
для: sl1p
(15.03.2010 в 10:36)
| | спасибо, все работает, но есть небольшая проблемка.
А если ожидается много полей с именем wmr, то Ваш скрипт выводит результат в первое поле wmr.
Подскажите как различать поля?
Я конечно понимаю, что можно сделать разные имена у всех полей, но всё-же :) | |
|
|
|