为什么 JavaScript 事件刷新页面
Why does JavaScript event refreshes page
所以我有这段代码来使用 RegExp 进行搜索,它通过一个字符串数组并搜索用户输入:
Clinica.prototype.pesquisarDoente = function ()
{
var exp = document.getElementById("pesquisaInput").value;
var lista = document.getElementById("listaDoentes");
if (exp)
{
while (lista.firstChild)
lista.removeChild(lista.firstChild);
var patt = new RegExp(exp);
var lenght = this.doentes.length
for ( i = 0; i < lenght; i++)
{
if (patt.test(this.doentes[i].nome))
{
var option = document.createElement("option");
option.appendChild(document.createTextNode(this.doentes[i].toString()));
lista.appendChild(option);
}
}
}
}
然后我在一个事件中调用它:
var buttonPesquisa = document.createElement("input");
buttonPesquisa.type = "submit";
buttonPesquisa.value = "Pesquisar";
buttonPesquisa.addEventListener('click', function () { cl.pesquisarDoente(this); });
然后我附加到我的页面。 问题是,当我单击该按钮时,它会清除选择列表,然后刷新页面。 这是为什么呢?
这是因为您正在创建一个提交按钮,一旦单击该按钮将触发一个提交事件,该事件似乎正在刷新页面...
您需要preventDefault()
事件。
试试这个:
var buttonPesquisa = document.createElement("input");
buttonPesquisa.type = "submit";
buttonPesquisa.value = "Pesquisar";
buttonPesquisa.addEventListener('click', function (e) { e.preventDefault(); cl.pesquisarDoente(this); });
提交按钮 提交表单。
提交表单会将表单数据发送到操作指定的 URI(如果没有操作,则发送到当前 URI),并将响应加载为新页面。
将按钮的类型更改为"按钮":
var buttonPesquisa = document.createElement("input");
buttonPesquisa.type = "button";
buttonPesquisa.value = "Pesquisar";
buttonPesquisa.addEventListener('click', function () { cl.pesquisarDoente(this); });
只需使用
var buttonPesquisa = document.createElement("button");
buttonPesquisa.type = "button";
// rest of code
它不应该刷新您的页面。
相关文章:
- 如何防止jQueryonclick事件中的Ruby方法在页面刷新时执行
- 如何刷新列表框内容onclick或blur事件
- 检测window.opener窗口刷新事件
- 如何在不刷新的情况下停止类的事件
- 当至少有一个用户触发事件而不刷新页面时,更改所有用户页面中的内容
- 是否有任何事件“;在$scope摘要完成时”;或“;在视图刷新时”;在Angular.js中
- socket.io”;“连接”;刷新/重新加载时的事件不会激发
- JQuery没有't在“t”上注册事件;刷新”;元素
- 如何刷新事件处理程序中的ODataModel
- Jquery Mobile Onclick事件在刷新前不起作用
- 正在努力解决如何刷新事件侦听器
- 想要禁用浏览器的刷新事件
- 如何中断 javascript 以刷新事件
- 主干视图不刷新事件
- 完整日历刷新事件
- JQuery:如何刷新事件处理程序
- 用angular 1.5的组件路由处理浏览器刷新事件
- 如何使用javascript捕获浏览器刷新事件
- 如何捕捉事件并区分关闭和刷新事件
- 如何在Javascript中区分第一个页面加载和连续的页面刷新事件