Показать сообщение отдельно
  #1 (permalink)  
Старый 03.07.2013, 10:42
Аспирант
Отправить личное сообщение для VolodinAS Посмотреть профиль Найти все сообщения от VolodinAS
 
Регистрация: 24.11.2012
Сообщений: 44

Динамический миникалькулятор
Суть дела такая: играем с друзьями в покер. Для добавления результатов используем схему: сколько выиграл -> прибавляем к последнему результату -> записываем в базу. То есть, записываем конечный результат. Мне это надоело и я решил написать небольшой скрипт для быстрой вставки конечного результата. Его суть: в верхнее поле пишем сколько выиграл/проиграл -> обработка функцией JavaScript введенного числа (при любом событии [onfocus, onchange, onblur]) -> вставка суммы в поле записи. Вот функция:
function rezall(n,okon){
if (!isNaN(n) && n!=undefined && n!=NaN && !isNaN(okon) && okon!=undefined && okon!=NaN){
document.getElementById("sum"+n).value = parseInt(n) + parseInt(okon);
}
}


Вот код PHP, генерирующего поля:
// куча кода
$n = 1;
foreach ($playerArr as $key=>$val){
echo "
<td align=\"center\">
<b>$key</b><br/>
<input type=\"text\" id=\"rez$n\" size=\"5\" onchange=\"javascript:rezall($n)\" onblur=\"javascript:rezall($n,$val)\" onfocus=\"javascript:rezall($n)\" />
<hr/>
<input id=\"sum$n\" type=\"text\" name=\"p[$n]\" size=\"5\" disabled />
</td>
";
$n++;
}
// куча кода

[/JS]

Отрывок ИСХОДНОГО КОДА СТРАНИЦЫ:
<td align="center">
<b>Цигульский:</b><br/>
<input type="text" id="rez2" size="5" onchange="javascript:rezall(2)" onblur="javascript:rezall(2,1065)" onfocus="javascript:rezall(2)" />
<hr/>
<input id="sum2" type="text" name="p[2]" size="5" disabled />
</td>

<td align="center">
<b>Скворцов:</b><br/>
<input type="text" id="rez3" size="5" onchange="javascript:rezall(3)" onblur="javascript:rezall(3,206)" onfocus="javascript:rezall(3)" />
<hr/>
<input id="sum3" type="text" name="p[3]" size="5" disabled />
</td>


То есть, можно понять, что при событии поля, происходит передача в функцию 2ух параметров - числа, которое ввели в поле (rez{N}) и последний результат игрока. Функция складывает 2е эти величины и отдает результат в disabled'ное поле (sum{N}), которое в последствии и запишется.

Но теперь самое важное. Вроде бы всё нормально, но я прикрепил скриншот того, что он передает, когда я ввожу в поле какое-либо число.

Вопрос: почему так и как это исправить?

Заранее, спасибо.

P.S. Ссылку на сайт могу, конечно, дать, но ввод результатов доступен только 2ум пользователям. Поляковский Покерный Клуб
Изображения:
Тип файла: png кусокстраницы.png (3.0 Кб, 7 просмотров)
Ответить с цитированием