enable/disable на label и fieldset

5 отговора 0 прегледа
#1

enable/disable на label и fieldset

Форма за регистрация. Username и pass се попълват от всички, а полетата за допълнителна информация само от желаещите достъп до специфичен раздел в сайта. Допълнителните полета са групирани с fieldset. Сложих един checkbox, като се сложи отметка , да се активира fieldset (document.getElementByID("id_na _fieldset").disable=true/false) обаче нещо не ще. Сложен е по подразбиране на disable и така си стои, а internet explorer дава error on page...
Моля за някакви идеи.........

Отговор
в отговор на Bъйx #2

Re: enable/disable на label и fieldset

document.getElementByID("id_na _fieldset").disabled е с d накрая. Само че disable-ване на fieldset при мен не работи под FF. Под IE работи точно както го искаш.

Можеш да се обръщаш към форм елементите и да ги disable-ваш и enable-ваш индивидуално, а не през fieldset-а.

Другият вариант, който е хем по-лесен, хем по-приемлив от гледна точка на потребителя, е да скриваш fieldset-a и да го показваш само ако има смисъл да се попълва. Така ще спестиш на потребителя необходимостта да гледа / прескача съдържание, което не го интересува.

[линк] - блог, уеб дизайн и програмиране, мъдрости, лекции
Отговор
в отговор на dimodi #3

Re: enable/disable на label и fieldset

Това с d-то накрая е правописна грешка тук. В кода си е коректно.
Показването/скриването на fieldset ме урежда напълно, само дето не знам как да го направя.
За това ще съм благодарен за малко ум /ако може/......

Отговор
в отговор на Bъйx #4

Re: enable/disable на label и fieldset

Например:

(разцепил съм кода на инпута на няколко реда, за да се чете по-лесно, но ти трябва да си го събереш да е на един ред)



<input type="checkbox" id="check_id" name="check_name"
onclick="javascript: if(this.checked == true) {
document.getElementById('fieldset_id').style.display = 'block'
} else {
document.getElementById('fieldset_id').style.display = 'none'
} ;" />



Можеш и с отделна javascript функция, която да си я ползваш за скриване и показване на каквото и да е по сайта:



<script type="text/javascript">
function toggleDisplay(elementID)
{
if(document.getElementById(elementID))
{
if(document.getElementById(elementID).style.display == 'none')
{
document.getElementById(elementID).style.display = 'block';
}
else
{
document.getElementById(elementID).style.display = 'none';
}
}
}
</script>

<input type="checkbox" id="check_id" name="check_name" onclick="javascript:toggleDisplay('fieldset_id')" />



И в двата случая трябва да се погрижиш състоянието на чекбокса и на филдсета да е синхронизирано при зареждането на страницата.

Специално за теб може би е по-добре по първия начин - по-дуракоустойчив е, защото за показване и скриване на филдсета се взима предвид състоянието на чекбокса, а във втория случай - не.

[линк] - блог, уеб дизайн и програмиране, мъдрости, лекции

Редактирано от dimodi на

Отговор
в отговор на dimodi #5

Re: enable/disable на label и fieldset

Това си го записах в папката Tutorials.
Много благодаря. И извинявай за досаждането, но какво да се прави - любител човек съм.

Отговор
в отговор на Bъйx #6

Re: enable/disable на label и fieldset


Е щом ще е в tutorials, нека да е това тука, внесох разни подобрения и по-става за там, горното е много елементарно

Javascript функция за скриване и показване на HTML елементи

Успех!

[линк] - блог, уеб дизайн и програмиране, мъдрости, лекции
Отговор