Ваш самый простой способ скрыть / показать элемент с помощью JavaScript - установить свойство видимости элемента.
Учитывая ваш пример, представьте, что на вашей странице определена следующая форма:
<form id="form1">
<fieldset id="lenderInfo">
<legend>Primary Lender</legend>
<label for="lenderName">Name</label>
<input id="lenderName" type="text" />
<br />
<label for="lenderAddress">Address</label>
<input id="lenderAddress" type="text" />
</fieldset>
<a href="#" onclick="showElement('secondaryLenderInfo');">Add Lender</a>
<fieldset id="secondaryLenderInfo" style="visibility:hidden;">
<legend>Secondary Lender</legend>
<label for="secondaryLenderName">Name</label>
<input id="secondaryLenderName" type="text" />
<br />
<label for="secondaryLenderAddress">Address</label>
<input id="secondaryLenderAddress" type="text" />
</fieldset>
</form>
Здесь следует отметить две вещи:
- Вторая группа полей ввода изначально скрыта с помощью небольшого встроенного CSS.
- Ссылка "Добавить кредитора" вызывает метод JavaScript, который сделает всю работу за вас. При нажатии на эту ссылку он динамически устанавливает стиль видимости этого элемента, заставляя его отображаться на экране.
showElement()
принимает в качестве параметра идентификатор элемента и выглядит следующим образом:
function showElement(strElem) {
var oElem = document.getElementById(strElem);
oElem.style.visibility = "visible";
return false;
}
Практически каждый подход JavaScript будет делать это под капотом, но я бы порекомендовал использовать каркас, который скрывает детали реализации от вас. Взгляните на JQuery и JQuery UI , чтобы получить более плавный переход при скрытии / показе ваших элементов.