Но я разобрался, спасибо за подсказку
у меня же есть window.addEventListener('DOMContentLoaded', function()) вот в эту функцию и запихнул. |
Цитата:
|
Цитата:
привел код в более менее понятный вид 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; } } опять же вопрос почему? |
Цитата:
Это все может сделать мощный сервер сразу. Без всякой нагрузки на клиент. У тебя же получается какая-то каша, в которой ты путаешься сам. Совет еще такой... Сначала сделай сам хтмл и JS который будет в итоге. Если все там заработает как нужно - можно переходить к генерации этого хтмл и JS. А пока ты гененрируешь то, что даже не понимаешь чего получается в итоге и как потом это все работает. :) Твои вопросы получаются из серии "Я вот тут чего-то нагененрил... Но оно не работает или работает как то так, что мне не понятно..." А ты должен четко понимать чего ты там генеришь. Т.ч. начни все с простых хтмл и JS. Сделаешь там - пробуй генерить серверным скриптом. |
dantist433,
Цитата:
window.addEventListener('DOMContentLoaded', function() { }); а не наоборот, как у вас |
Часовой пояс GMT +3, время: 01:50. |