原因很简单,因为dwr.util.onReturn类似于submit表单,它也会刷新页面。只要使用其他方法来定义输入框的回车操作就可以了。
之后我搜索改用了如下代码:onkeypress="if(event.keyCode==13){Javascript:sendMessage();}"
但是还是失败了,仍旧会刷新。
之后我又修改成如下:onkeypress="Javascript:sendMessage();"
这种情况不会刷新,但是只要按下键它就会做一个sendMessage()的动作。并且如果按得enter键那么它就会刷新。看来问题的关键是enter键被按下默认就是submit,这样就好办了,很显然由于是粘过来的代码,所以我没注意到这是一个表单,整体的代码如下:
<form method="post" action="">之前发现submit刷新问题时,以为把action设为空就可以了,但是没想到这只对button的点击起作用,不对输入框的enter键起作用。所以干脆删掉<form method="post" action="">代码。
<p><input name="search" class="search" id="chattext" type="text" onkeypress="Javascript:sendMessage();"> <input value="发送消息" class="button" type="button" onclick="sendMessage();"></p>
</form>
只剩下如下代码:
<p><input name="search" class="search" id="chattext" type="text" onkeypress="if(event.keyCode==13){Javascript:sendMessage();}"> <input value="发送消息" class="button" type="button" onclick="sendMessage();"></p>果然,enter键就不会触发submit了。
没有评论:
发表评论