Jai*_*iro 5 javascript onclick javascript-events onkeypress xpages
我使用Xpages自定义控件创建了一个搜索字段(id:searchField)和一个搜索按钮(id:searchButton).我在搜索字段上添加了一个onkeypress事件,这样它就会触发对searchButton的点击.然后,searchButton将重新加载页面,但url参数来自搜索字段.问题是页面重新加载但是当我在搜索字段中按Enter时搜索参数没有添加到URL ,但是当我按下searchButton时工作正常.以下是我使用的代码:
(代码添加到searchField的onkeypress)
if (typeof thisEvent == 'undefined' && window.event) { thisEvent = window.event; }
if (thisEvent.keyCode == 13)
{
document.getElementById("#{id:searchButton}").click();
}
(代码添加到searchButton的onclick)
window.location.href = "test.xsp?search=" + document.getElementById("#{id:searchField}").value;
我在IE和Firefox中测试过它们都有问题.我创建了一个示例HTML文件,它工作正常.这是XPages的错误还是我错过了什么?
在'.click()'之后添加:
thisEvent.preventDefault();
thisEvent.stopPropagation();
Run Code Online (Sandbox Code Playgroud)
它应该解决问题;-)
将输入字段的onKeyPress事件更改为
if (typeof thisEvent == 'undefined' && window.event) { thisEvent = window.event; }
if (thisEvent.keyCode == dojo.keys.ENTER)
{
dojo.byId("#{id:searchButton}").click();
thisEvent.preventDefault();
}
Run Code Online (Sandbox Code Playgroud)
应该足以解决问题.请注意,对于跨浏览器兼容性,我使用了
dojo.keys.ENTER
Run Code Online (Sandbox Code Playgroud)
和
dojo.byId("id");
Run Code Online (Sandbox Code Playgroud)
财产/方法.该dojo.keys对象有很多属性进行检查某些按键:看这里
标记
| 归档时间: |
|
| 查看次数: |
4336 次 |
| 最近记录: |