我有这段 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/