Script для включения/выключения входных элементов?
Мне интересно, разрешить ли script включать/отключать все элементы ввода на странице с помощью какой-либо кнопки переключения.
Я искал его, но не нашел ничего полезного, кроме этого:
http://www.codetoad.com/javascript/enable_disable_form_element.asp
но я не уверен, как отредактировать его для переключения.
Спасибо!
Ответы
Ответ 1
Рабочий пример:
$().ready(function() {
$('#clicker').click(function() {
$('input').each(function() {
if ($(this).attr('disabled')) {
$(this).removeAttr('disabled');
}
else {
$(this).attr({
'disabled': 'disabled'
});
}
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<input type='text'></input>
<input type='text'></input>
<input type='text'></input>
<div id='clicker' style='background-color:#FF0000; height:40px; width:100px;'></div>
Ответ 2
Что-то вроде этого будет работать:
var inputs=document.getElementsByTagName('input');
for(i=0;i<inputs.length;i++){
inputs[i].disabled=true;
}
Ответ 3
Вот функция для переключения всех входов на странице:
function toggle_inputs() {
var inputs = document.getElementsByTagName('input');
for (var i = inputs.length, n = 0; n < i; n++) {
inputs[n].disabled = !inputs[n].disabled;
}
}
Он работает, используя логический оператор NOT (восклицательный знак), который возвращает противоположность операнду. Например, !true
вернет false
. Таким образом, используя !inputs[n].disabled
, он вернет противоположность тому, что в настоящее время установлен, тем самым переключив его.
Если вам нужен код для привязки события click к кнопке:
document.getElementById('your_button_id').onclick = toggle_inputs;
Вы также можете использовать addEventListener
, но см. связанную страницу для получения дополнительной информации, включая совместимость с Internet Explorer. Код, который я привел выше, должен работать во всех браузерах без проблем.
Ответ 4
for (var i = 0; i < document.getElementyByTagName('input').length; i++) {
document.getElementsByTagName('input')[i].disabled = 'disabled';
}
Ответ 5
http://code.google.com/p/getelementsbyclassname/
^^ Роберт Найман имеет "получить элементы по классам" script. В основном вы просто назначили все эти входные элементы одному классу, а затем сделаете что-то вроде:
//Collapse all the nodes
function collapseNodesByClass(theClass){
var nodes = getElementsByClassName(theClass);
for(i = 0; i < nodes.length; i++){
nodes[i].style.display='none';
}
}
Это фрагмент кода, который я использую в настоящее время для свертывания всего с заданным именем класса (он использует script, упомянутый выше). Но в любом случае я думаю, что ключом к вашей проблеме является возможность одновременного обращения к нескольким элементам, что поможет вам script.
Также ссылка на ваш вопрос не работала для меня: (.