我有一个包含代码的文本框;
<input type="text" maxlength="5" size="2" value="1" id="paging_textbox">
现在此页面上没有封面表格标签..
当用户在此文本框中键入并按Enter键时,此页面上的表格会更新(通过AJAX调用)
在Safari中,行为略有不同,即使它正确地更新了表,它会重新加载页面(认为它提交表单,但不确定如何没有表单标记)并重置文本框值返回“1”
如何防止在Safari中发生这种情况?
请帮帮我。谢谢。
答案 0 :(得分:5)
为了确定,请使用return false
终止您的回调函数。
这应该可以解决问题。
function(e) {
e.preventDefault();
// some awesome code
return false;
}
哦,还有一件事:将来,要避免这种随机行为..尊重标准,使用form
:)
答案 1 :(得分:0)
//Press Enter in INPUT moves cursor to next INPUT
$('#form').find(':input').keypress(function(e){
if ( e.which == 13 )
{
$(this).next().focus(); //Use whatever selector necessary to focus the 'next' input
}
});
<script language="JavaScript">
function disableEnterKey(e)
{
var key;
if(window.event)
key = window.event.keyCode; //IE
else
key = e.which; //firefox
if(key == 13)
return false;
else
return true;
}
</script>
并写
<input type=”text” name=”mytext” onKeyPress=”return disableEnterKey(event)”>
答案 2 :(得分:0)
使用event.preventDefault()
或返回False应该为你做的伎俩。