javascript - 更改提交按钮文本并在 iOs 中禁用它

标签 javascript jquery ios

我有这段 js 代码,它可以在 PC 上运行(将文本更改为“添加...”并禁用按钮)。但在 iOs 设备上只提交表单,文本没有改变。有什么想法吗?

        $(".moveToBasket").click(function() {
            var form = $(this).closest('form');
            var button = $(this);

            button.attr('value', 'Adding...');

            form.on('submit', function() {
                button.prop("disabled", true);
            });
        });

附言.moveToBasket 类 html 元素是 'input type="submit"'

最佳答案

前几天我也遇到了同样的问题。似乎还有其他人确认了 Safari 中的错误:https://github.com/rails/jquery-ujs/issues/306

我是这样解决的:

$('body').on('submit', form, function formSubmitHandler(event){
    // Shadow the form to prevent infinite loop
    var form = event.target;

    event.preventDefault();

    // If <input type="submit">
    button.attr('value', 'Adding...');

    // If <button>Add</button>
    button.text('Adding...');

    button.prop('disabled', true);

    // Submit the form in a different tick
    setTimeout(function() {
        form.submit();
    }, 10);
});

希望对你有帮助。

关于javascript - 更改提交按钮文本并在 iOs 中禁用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41832007/

相关文章:

ios - Swift 5 无法向自定义按钮添加操作(AVPlayerViewController 中的 addTarget 问题)

ios - 在 Swift 中的整数后显示 .0

javascript - 执行 mousemove 时的 mousehold 事件

javascript - 过滤包含多个单词的过滤列表

javascript - 如何在 Angular 中模拟 $http 成功?

javascript - 垂直居中图标元素

javascript - 如何使用对象属性对对象数组进行排序

ios - ObjC : in init can I do self = [self initWithMyGenericMethod]?

javascript - 为什么我在服务器客户端状态下得到 406 Not Acceptable ,甚至我的 spring Controller 也没有调用?

JQuery 的 .prop() 不会设置属性