我有一个简单的表单,其中有一个“提交”按钮和 Blade 模板中的一个附加“添加”按钮。在表单提交时,有一个对 Controller 的 ajax 回调,用于验证提供的值。根据 Controller 返回的结果,我想更改“添加”按钮的 onClick 事件。这是 Blade 剪断:
<button id="theId" type="button" >Add</button>
相关ajax图片:
$.ajax({
...
success: function(result){
//Update onClick for the add button
addButton.onclick=function () {
//location.href = 'www.example.com';
window.location="www.example.com";
};
addButton.html("aNewName");
}
}
基于所有来源,location.href 或 window.location 应该将我重定向到不同的页面(在我的情况下只是不同的子页面),但事实并非如此。经过几个小时的研究,我认为我得到了一个错误的按钮,或者 ajax 本身有问题,但后来我添加了 addButton.html 行,效果很好。我在这里做错了什么?
最佳答案
获取按钮,最终删除以前的点击事件,使用 http/https 前缀添加新事件,更改按钮的文本
success: function(result){
var button = document.querySelector('#theId');
button.addEventListener('click', function () {
window.location = 'https://www.google.it';
});
button.innerHTML = "my new button text";
}
关于javascript - 在 Laravel 中从 AJAX 更新按钮 onClick url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44209002/