<script type="text/javascript">
function active(n){
document.getElementById(n).disabled = false;
}
</script>
<form>
<br><input type="text" name="var1" id="n1" disabled><a href="" onClick="active(n1);">edit</a>
<br><input type="text" name="var2" id="n2" disabled><a href="" onClick="active(n2);">edit</a>
<br><input type="text" name="var3" id="n3" disabled><a href="" onClick="active(n3);">edit</a>
</form>
Спустя 9 минут, 13 секунд (9.02.2011 - 15:54) sergeiss написал(а):
maximka787 - "Ну вы, блин, даёте!" (с)
Как же ты нажмешькнопку инпут, если он изначально заблокирован???







Как же ты нажмешь
Спустя 5 минут, 40 секунд (9.02.2011 - 16:00) Snus написал(а):
sergeiss
У него сначала кнопка, а потом ссылка
maximka787
У него сначала кнопка, а потом ссылка
maximka787
<script type="text/javascript">
$(document).ready(function(){
$('a.act').click(function(){
$(this).prev('input').removeAttr('disabled').focus();
return false;
});
});
</script>
<form>
<br><input type="text" name="var1" disabled><a href="#" class="act">edit</a>
<br><input type="text" name="var2" disabled><a href="#" class="act">edit</a>
<br><input type="text" name="var3" disabled><a href="#" class="act">edit</a>
</form>
Спустя 7 минут, 4 секунды (9.02.2011 - 16:07) sergeiss написал(а):
Цитата (Snus @ 9.02.2011 - 17:00) |
У него сначала кнопка, а потом ссылка |
Во, блин... Чё-та я не туда посмотрел...
Snus - вот только ты написал не на чистом JS...
У автора 2 ошибки:
1. Имя кнопки надо указывать в кавычках.
2. Обработчик onclick в такой ситуации должен возвращать false - иначе срабатывает ссылка и происходит переход по ссылке!!!
<br><input type="text" name="var1" id="n1" disabled><a href="" onClick="active('n1'); return false;">edit</a>
Спустя 1 минута, 36 секунд (9.02.2011 - 16:08) Snus написал(а):
sergeiss
Я знаю уже твою нелюбовь к jQuery. Это удобно и я бы советовал автору темы пользоваться им, а не изобретать велосипеды с самопознанием JS.
Я знаю уже твою нелюбовь к jQuery. Это удобно и я бы советовал автору темы пользоваться им, а не изобретать велосипеды с самопознанием JS.
Спустя 6 минут, 58 секунд (9.02.2011 - 16:15) maximka787 написал(а):
Snus, твой пример не работает у меня почему-то. На счет велосипеда я и сам знаю, что незачем его изобретать, но и пример у меня самого начального уровня, только с функцией проблемы.
sergeiss я заменил код на твой в нижней части, но тоже не работает.
sergeiss я заменил код на твой в нижней части, но тоже не работает.
Спустя 1 минута, 4 секунды (9.02.2011 - 16:16) sergeiss написал(а):
Цитата (Snus @ 9.02.2011 - 17:08) |
Я знаю уже твою нелюбовь к jQuery. Это удобно и я бы советовал автору темы пользоваться им, а не изобретать велосипеды с самопознанием JS. |
А если весь сайт 2-3 страницы, в которых всего 3-4 небольших функции на JS, то тоже надо таскать с собой всю библиотеку???
maximka787 - покажи, что именно ты получил в итоге!
Спустя 1 минута, 16 секунд (9.02.2011 - 16:18) Snus написал(а):
maximka787
Ты сначала библиотеку подключи jQuery библиотека
Ты сначала библиотеку подключи jQuery библиотека
Спустя 53 секунды (9.02.2011 - 16:19) Snus написал(а):
sergeiss
Да и что? Да хоть 1 страница-визитка. Задержка в пару миллисекунд большого ущерба не нанесут, а вот jQuery облегчит работу.
Да и что? Да хоть 1 страница-визитка. Задержка в пару миллисекунд большого ущерба не нанесут, а вот jQuery облегчит работу.
Спустя 20 секунд (9.02.2011 - 16:19) Michael написал(а):
<script type="text/javascript">
function active(n){
document.getElementById(n).disabled = false;
return false;
}
</script>
<form>
<br><input type="text" name="var1" id="n1" disabled><a href="" onClick="active('n1');">edit</a>
<br><input type="text" name="var2" id="n2" disabled><a href="" onClick="active('n2');">edit</a>
<br><input type="text" name="var3" id="n3" disabled><a href="" onClick="active('n3');">edit</a>
</form>
Спустя 3 минуты, 11 секунд (9.02.2011 - 16:22) maximka787 написал(а):
Snus - понял что нужно) не дошло сразу.
sergeiss Правильно написал, у меня всего одно место на сайте где надо использовать это. Вот в итоге весь код но он не работает:
Michael - не работает
sergeiss Правильно написал, у меня всего одно место на сайте где надо использовать это. Вот в итоге весь код но он не работает:
<script type="text/javascript">
function active(n){
document.getElementById(n).disabled = true;
}
</script>
<form>
<br><input type="text" name="var1" id="n1" disabled><a href="" onClick="active('n1'); return false;">edit</a>
<br><input type="text" name="var1" id="n1" disabled><a href="" onClick="active('n1'); return false;">edit</a>
<br><input type="text" name="var1" id="n1" disabled><a href="" onClick="active('n1'); return false;">edit</a>
</form>
Michael - не работает
Спустя 1 минута, 24 секунды (9.02.2011 - 16:23) sergeiss написал(а):
А ты посмотри, сколько у тебя объектов с именем айди n1 получилось 
Michael - return false должен быть... Либо - return active('n1')

Michael - return false должен быть... Либо - return active('n1')
Спустя 4 секунды (9.02.2011 - 16:24) Snus написал(а):
maximka787
disabled = false;
disabled = false;
Спустя 2 минуты, 51 секунда (9.02.2011 - 16:26) sergeiss написал(а):
Цитата (Snus @ 9.02.2011 - 17:19) |
Да и что? Да хоть 1 страница-визитка... |
Это вопрос спорный, для большого холивара

Спустя 7 минут, 21 секунда (9.02.2011 - 16:34) Michael написал(а):
в моем примере onClick="return active('n1');" добавь. Вообще ссылкам href="#" задай, уже выше показывали кстати.
Спустя 1 минута, 50 секунд (9.02.2011 - 16:36) maximka787 написал(а):
О заработало, УРА! Всем спасибо.
А скажите, если надо делать обратно disable при нажатии на любом другом элементе или просто вне зоны input
надо использовать:
и соответственно:
А скажите, если надо делать обратно disable при нажатии на любом другом элементе или просто вне зоны input
надо использовать:
<input type="text" name="var1" id="n1" disabled>
<a href="" onClick="active('n1'); return false;" onBlur="deactive('n1'); return false;">edit</a>
и соответственно:
function deactive(n){
document.getElementById(n).disabled = false;
}
Спустя 56 секунд (9.02.2011 - 16:37) maximka787 написал(а):
Ошибся, onBlur="deactive('n1'); return false;" в сам input
Спустя 45 секунд (9.02.2011 - 16:37) Snus написал(а):
maximka787
Я могу тебе ответить ) но на jQuery ) и меня опять заплюют )) поэтому жди пока поклонники чистого JS тебе ответят ))
Я могу тебе ответить ) но на jQuery ) и меня опять заплюют )) поэтому жди пока поклонники чистого JS тебе ответят ))
Спустя 3 минуты, 29 секунд (9.02.2011 - 16:41) Snus написал(а):
maximka787
Для себя на jQuery я бы это организовал так )))
Для себя на jQuery я бы это организовал так )))
$(document).ready(function(){
$('a.act').click(function(){
$(this).prev('input').removeAttr('disabled').focus()
.blur(function(){
$(this).attr('disabled', 'true');
})
.keypress(function(e){
if(e.keyCode == 13){
$(this).attr('disabled', 'true');
alert('ИЗМЕНЕНИЯ ВНЕСЕНЫ :)');
}
});
return false;
});
});
Спустя 5 минут, 36 секунд (9.02.2011 - 16:46) maximka787 написал(а):
Snus, благодарю, лучше все таки использовать примеры для "школы") я с jQuery сталкивался только в готовых проектах, где надо было менять информацию, а не писать с нуля. Поэтому и стараюсь использовать только там, где нужно.
Я понял. Не надо деактивировать один элемент. Проще все элементы формы.
Кто знает как их найти?
Функция не работает, просто для примера написал, если как-то так можно сделать?
Я понял. Не надо деактивировать один элемент. Проще все элементы формы.
Кто знает как их найти?
<input type="text" name="var1" id="n1" onBlur="deactive();" disabled>
<input type="text" name="var2" id="n2" onBlur="deactive();" disabled>
function deactive(){
for(i=0;i<????;i++){
document.form[0].disabled = true;
}
}
Функция не работает, просто для примера написал, если как-то так можно сделать?
Спустя 22 минуты, 42 секунды (9.02.2011 - 17:09) sergeiss написал(а):
Цитата (Snus @ 9.02.2011 - 17:37) |
но на jQuery ) и меня опять заплюют )) |
Да зачем же клевать-плевать?

maximka787 - вот чё хошь думай, но писать готовый код не буду принципиально

Только подскажу: для перебора всех объектов внутри формы используй getElementsByTagName('*'). Со звездочкой - это если все перебрать надо, любого типа. Далее выбирай нужные тебе по типу (или по айди, или по любому другому критерию) и изменяй хоть свойство disabled, хоть что-то другое. Можно сразу перебирать элементы только одного типа... Вариаций много.
Спустя 36 минут, 33 секунды (9.02.2011 - 17:46) maximka787 написал(а):
Цитата (sergeiss @ 9.02.2011 - 14:09) |
Можно сразу перебирать элементы только одного типа... Вариаций много. |
Посмотрю как это делается, спасибо.
Спустя 7 минут, 40 секунд (9.02.2011 - 17:53) sergeiss написал(а):
maximka787 - Возможно, что вот это http://javascript.ru/tutorial/dom/search тебе поможет 
Или, более обще, вот это вот http://javascript.ru/search/node/getElementsByTagName

Или, более обще, вот это вот http://javascript.ru/search/node/getElementsByTagName
_____________
..Работает - не трогай!