Сообщение от ksa
|
Все равно, что-то мне подсказывает, что ты роешь подземный ход на чердак...
|
Все может быть
привел код в более менее понятный вид
var max_population=Array (16,5,4);
for (var i = 0; i < 3; i++)
{
window.addEventListener('DOMContentLoaded', function()
{
inp2 = document.createElement( 'input' );
inp2.type = 'button';
inp2.name = 'input_2';
inp2.id = 'max_unit'+i;
inp2.value = max_population[i];
document.getElementById( 'units' ).appendChild( inp2 );
var address = document.getElementById('max_unit'+i);
var favoriteAddress = document.getElementById('unit'+i) ;
if (address.value!=0)
{ document.getElementById('max_unit'+i).onclick = function() {favoriteAddress.value=address.value ;address.value=0; }
}
else
{ document.getElementById('max_unit'+i).onclick = function() {address.value=favoriteAddress.value ;favoriteAddress.value=5; }
}
var form = document.querySelector('form');
form.addEventListener('input', function(e)
{
var el = e.target;
el.classList.contains ('text'+i) && el.classList[ (el.value>max_population[i])?'add':'remove'] ('RedText');
});
});
}
<form name = "units" method="post" id="units" action="timers/units_t.php" onsubmit="return validate_form ( );">
<table>
<tr>
<td>111</td><td>111</td><td>111</td><td> <input class="text0" size="3" id="unit0" name = 'unit0'></td><td></td>
</tr>
<tr>
<td>222</td><td>222</td><td>222</td><td> <input class="text1" size="3" id="unit1" name='unit1'></td><td></td>
</tr>
<tr>
<td>333</td><td>333</td><td>333</td><td> <input class="text2" size="3" id="unit2" name='unit2'></td><td></td>
</tr>
</table>
<p><input type="submit"></p>
</form>
И тут возникло сразу 2 вопроса:
1. Такое чувство что переменная i из for не передается в функцию, как это исправить???
Так как max_population[i] у меня получается undefined, а перед функцией все норм
2. Когда она передается(а у меня через PHP она передается) то при 1 нажатии значения передаются в инпут, а при повторном нажатии не передается обратно, как будто это условие не отрабатывает
if (address.value!=0)
{ document.getElementById('max_unit'+i).onclick = function() {favoriteAddress.value=address.value ;address.value=0; }
}
else
{ document.getElementById('max_unit'+i).onclick = function() {address.value=favoriteAddress.value ;favoriteAddress.value=5; }
}
опять же вопрос почему?