Заставить кнопку исчезнуть при нажатии - PullRequest
0 голосов
/ 05 мая 2020

У меня такой код:

<script>
    function hidenow(id) {
        var divelement = document.getElementById(id);

        if(divelement.style.display == 'none')
                divelement.style.display =='block'; 
        else
                divelement.style.display = 'none';
                hidenow = button.style.visibility = "hidden";
    }
</script>

И

<br>
<p>Programma's waarop u kunt abonneren:</p>
<form action="#" enctype="multipart/form-data" method="post">
    <?php wp_nonce_field( 'set_programma_action', 'set_programma' ); ?>
    <table>
        <?php foreach ( $retrieve_data as $retrieved_data ) { ?>
            <tr>
                <th>Programma:</th>
                <td id="hideit" style="vertical-align: middle;">
                <?php
                 echo $alreadysub; echo esc_html( $retrieved_data->Anaam );
                 ?>
                 </td>
                <th>
                    <button id="hidebutton('hideb')" onclick="hidenow('hideit')" name="programma" type="submit" value="<?php echo esc_attr( $retrieved_data->Anaam ); ?>">Abonneer</button>
                </th>
            </tr>
        <?php } ?>
    </table>
</form>

И

<br> 
<p>De programma's waarop u geabonneerd bent:</p>
<form action="#" enctype="multipart/form-data" method="post">
    <?php wp_nonce_field( 'set_programmatest_action', 'set_programmatest' ); ?>
    <table>
        <?php foreach ( $retrieve_data as $retrieved_data ) { ?>
            <tr>
                <th>Programma:</th>
                <td style="vertical-align: middle;"><?php echo esc_html( $retrieved_data->meta_value ); ?></td>
                <th>
                    <button name="programmatest" type="submit" id="button" value="<?php echo esc_attr( $retrieved_data->meta_value ); ?>">Abonnement opzeggen</button>
                </th>
            </tr>
        <?php } 
        ?>
    </table>
</form>

При нажатии кнопки элемент успешно исчезает. Однако кнопки нет. Не знаю как сделать так, чтобы пропала и сама кнопка. Я пробовал onClick = button.style.visibility = "hidden";, но это не дает никакого результата.

Как я могу убедиться, что при нажатии кнопки сама кнопка вместе с элементом исчезает (навсегда)?

введите описание изображения здесь

Ответы [ 2 ]

0 голосов
/ 05 мая 2020

РЕДАКТИРОВАТЬ:

Если вы хотите скрыть кнопку после отправки формы, просто установите isset($_POST['programma', если вы установили, не показывать кнопку, если форма не отправлена, она будет отображаться.

замените код кнопки на приведенный ниже код.

if (isset($_POST['programma'])) {
  echo "";
} else  {
  echo '<button id="hidebutton" style="display:block" name="programma" type="submit" value="<?php echo esc_attr( $retrieved_data->Anaam ); ?>">Abonneer</button>';
}

В противном случае вам нужно будет сохранить информацию, если форма отправлена ​​в Cook ie или PHP Session, и после прочтения этой информации отобразите скрытие на основе этого с PHP / JS.

    function hidenow(id) {
        var divelement = document.getElementById(id);
         var button = document.getElementById("hidebutton");

        if(divelement.style.display == 'none')
                divelement.style.display ='block',
                button.style.display = "block";
        else
                divelement.style.display = 'none',
                button.style.display = "none";
    }
<br>
<p>Programma's waarop u kunt abonneren:</p>
<form action="#" enctype="multipart/form-data" method="post">
    <?php wp_nonce_field( 'set_programma_action', 'set_programma' ); ?>
    <table>
        <?php foreach ( $retrieve_data as $retrieved_data ) { ?>
            <tr>
                <th>Programma:</th>
                <td id="hideit" style="vertical-align: middle;">
                <?php
                 echo $alreadysub; echo esc_html( $retrieved_data->Anaam );
                 ?>
                 </td>
                <th>

                </th>
            </tr>
        <?php } ?>
    </table>
</form>
                    <button id="hidebutton" style="display:block" onclick="hidenow('hideit')" name="programma" type="submit" value="<?php echo esc_attr( $retrieved_data->Anaam ); ?>">Abonneer</button>
0 голосов
/ 05 мая 2020

изменить

<button id="hidebutton('hideb')" onclick="hidenow('hideit')" name="programma" type="submit" value="<?php echo esc_attr( $retrieved_data->Anaam ); ?>">Abonneer</button>

на

<button id="hide" onclick="hidenow('hide')" name="programma" type="submit" value="<?php echo esc_attr( $retrieved_data->Anaam ); ?>">Abonneer</button>

Вы не можете установить идентификатор как функцию (я предполагаю вот что вы пытались сделать)

Это должно исправить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...