Заставьте jQuery нажать на кнопку, когда кто-то подтвердил (диалоговое окно) - PullRequest
0 голосов
/ 17 марта 2020

У меня есть сайт аукциона WordPress, и я хотел добавить диалог подтверждения с jquery, когда кто-то нажимает на кнопку «ставка». Я могу добиться этого с помощью системного диалога по умолчанию, но я хочу более настраиваемое диалоговое окно с jQuery. Как я могу сделать это, нажав кнопку ставки, когда конечный пользователь подтвердит ставку?

Вот пример кода:

            <button type="submit" class="bid_button button alt"><?php echo wp_kses_post( apply_filters( 'bid_text', esc_html__( 'Bid', 'auctions-for-woocommerce' ), $product ) ); ?></button>
            <script>
                jQuery('button').confirm({
                    title: 'titletext',
                    content: 'content text"',
                    type: 'red',
                    buttons: {   
                        ok: {
                            text: "OK",
                            btnClass: 'btn-primary',
                            keys: ['enter'],
                            action: function(){
                                 console.log('Brukeren bekreftet "OK"');
                            }
                        },
                        No: function(){
                                text: "No",
                                jQuery.alert('Kansellert!');
                                console.log('the user clicked cancel');
                        }
                    }
                });
            </script>

1 Ответ

0 голосов
/ 18 марта 2020

похоже, что эта библиотека не создана для отправки форм через кнопку, больше похоже на использование ее для <a> тегов, источника - https://github.com/craftpip/jquery-confirm/issues/229

Я думал, что дам вам еще способ решить вашу проблему. Теперь я предотвращаю поведение кнопки по умолчанию, когда оно не подтверждено, и запускаю его снова, когда оно подтверждено, но на этот раз кнопка может отправить форму. Также добавили идентификатор submitButton к вашей кнопке, чтобы сделать его индивидуальным.

<button type="submit" id="submitButton" class="bid_button button alt"></button>

<script>
   var confirmed = false;
   $('#submitButton').on('click', function() {
     if (!confirmed) {
       event.preventDefault();
       $.confirm({
         title: 'titletext ',
         content: 'content text"',
         type: 'red',
         buttons: {
           ok: {
             text: "OK",
             btnClass: 'btn-primary',
             keys: ['enter'],
             action: function() {
               confirmed = true;
               $('#submitButton').click()
               console.log('Brukeren bekreftet "OK"');
             }
           },
           No: function() {
             text: "No",
             jQuery.alert('Kansellert!');
             console.log('the user clicked cancel');
           }
         }
       })
     } else {
       confirmed = false
     }
   })
</script>

надеюсь, я смогу вам помочь. :)

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