javascript - HTML 表单未在 Safari 和 iOS Safari 上提交

标签 javascript jquery html laravel

这以前从未发生在我身上,但我有这个表单,当我单击按钮时,它不会执行任何操作,就像我单击了 <button type="button"></button> 一样元素,这只是在 Safari 中发生,因为在其他浏览器中它可以正常工作(一些代码在服务器端渲染,我使用 Laravel):

<form method="post" action="{{ route('checkout.realizar.compra') }}" id="form-compra-tarjeta">
                                                @csrf
                                                <input type="hidden" value="Tarjeta" name="tipo">
                                                <div class="button yellow"><button type="submit" class="btn-confirmar">Confirmar pago</button></div>
                                            </form>

我不知道这是否有什么关系,但我的 View 中有其他表单,但它们不是嵌套的,每个表单都位于不同的位置。如果我检查该元素,则不会看到任何内容,无论是在网络选项卡内,还是不会尝试访问操作 url。

我还有这个 javascript(带有 jQ​​uery)代码,它只是禁用按钮并在单击按钮时更改文本,尽管我认为它与此无关。

$('.btn-confirmar').on('click', function(e){
        $(this).attr('disabled', true);
        $(this).html('Realizando compra... <i class="fas fa-spin fa-circle-notch"></i>');
    });

最佳答案

事实证明 jQuery 代码实际上与此有关,我通过以下方式对其进行了更改,现在它可以工作了:

$('#form-compra-tarjeta').on('submit', function(e){
        $('.btn-confirmar').attr('disabled', true);
        $('.btn-confirmar').html('Realizando compra... <i class="fas fa-spin fa-circle-notch"></i>');
    });

但是,为什么……?如果有人可以解释,以便我可以将其添加到答案中......

关于javascript - HTML 表单未在 Safari 和 iOS Safari 上提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59727349/

相关文章:

javascript - 如何使用 Javascript 确定元素的语言?

html - 如何使用 CSS 将元素与其 sibling 的 child 对齐?

html - 左右浮动 : left div is below right div

javascript - 使用 .NET MVC 中的 Response.Filter 将所有 JavaScript 保留在页面底部

javascript - 在 HTML 5 mp3 播放器 (audio.js) 中播放 SoundCloud 流 uri

javascript - 随机播放一组图像而不重复

javascript - 如何选择光标前的整个单词?

javascript - jQuery:使用嵌入在 JavaScript 变量中的 div 作为 jQuery 选择器

javascript - 三JS : update camera FOV

jQuery 在父窗口中选择元素