javascript кнопки для отображения / скрытия областей страницы не остаются включенными

Следующий код может помочь вам,

#include <atlconv.h>
#include <atlstr.h>

#define ASSERT ATLASSERT

int main()
{
    const CStringW unicode1 = L"\x0391 and \x03A9"; // 'Alpha' and 'Omega'

    const CStringA utf8 = CW2A(unicode1, CP_UTF8);

    ASSERT(utf8.GetLength() > unicode1.GetLength());

    const CStringW unicode2 = CA2W(utf8, CP_UTF8);

    ASSERT(unicode1 == unicode2);
}
0
задан David 13 July 2018 в 13:42
поделиться

2 ответа

Вы можете использовать атрибуты объекта события и данных:

function ShowHide(input) {
   // If you don't want the form to refresh the page, use preventDefault
   event.preventDefault(); 
   // Using dataset you can access the data attributes from the button that fired the event
   document.getElementById(event.target.dataset.divid).style.display = "block"; 
}
<div id="main">
    <form >
        <fieldset>
            <button onclick="ShowHide()" data-divid="1">Area 1</button> <!- Add data attributes to your buttons ->
            <button onclick="ShowHide()" data-divid="2">Area 2</button>
        </fieldset>
    </form>
</div>
<div id="1" style="display:none">
    Area 1
</div>
<div id="2" style="display:none">
    area 2
</div>

0
ответ дан Damian Peralta 17 August 2018 в 12:41
поделиться

Чтобы предотвратить обновление страницы при отправке формы, вам нужно будет использовать event.preventDefault();

. Я считаю, что то, что вы пытаетесь достичь, состоит в следующем:

<div id="main">
            <form>
                <fieldset>
                    <button onclick="showHide('myDiv1')">Area 1</button>
                    <button onclick="showHide('myDiv2')">Area 2</button>
                </fieldset>
            </form>
        </div>
        <div id="myDiv1" style="display:none">
            Area 1
        </div>
        <div id="myDiv2" style="display:none">
            Area 2
        </div>



<script>
            function showHide(elemId) {
                 event.preventDefault();
        var x = document.getElementById(elemId);
        if (x.style.display === "none") {
            x.style.display = "block";
        } else {
            x.style.display = "none";
        }
    }
    </script>

Здесь - код на Песочнице .

0
ответ дан Sophia Price 17 August 2018 в 12:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: