Safari会忽略onclick事件中的提交更改

时间:2014-01-10 09:10:12

标签: javascript safari submit

对于Drupal网站,我开发了一个相当简单的模块,以防止用户在提交按钮上多次按下。当按下提交按钮时,它会被一条小信息替换,以便有耐心。

除了Safari之外,所有浏览器中的问题似乎都能正常工作。

    $("input[id^='edit-submit']").click(function(e){
        var message = Drupal.t('Please wait...');
        $(this).hide();
        $('<span>' + message + '</span>').insertAfter(this);
    });

当我查看调试器时,我看到一个属性出现style =“display:none;”但Safari似乎忽略了它。当我手动(通过开发人员工具)添加显示:无按钮消失。

我不知道它jQuery doesn't run in Safari on form submit是相关的,因为当我在click函数体之间添加一个console.log()时,它执行一次($(this)值也指向正确的元素)但是它不响应该按钮的任何更改。

从你点击提交按钮的那一刻起,它似乎处于某种锁定状态 - 这也会阻止双重提交 - 但我想要相当确定这是safari的标准行为然后是一个可能困扰的错误我将来。

我尝试使用Google搜索某些关键字,但在Safari中找不到任何描述此行为的文档。

编辑:我也尝试删除(并分离)onclick上的按钮,使按钮消失,但随后表单不再提交。

1 个答案:

答案 0 :(得分:1)

尝试使用:

.css('display', 'none');