首页 > 代码库 > js form 表达关于onpress 的一个问题

js form 表达关于onpress 的一个问题

      <form id="search-form" method="get" action="/search">
                    <fieldset class="search">
                        <input type="text"   name="keyword" placeholder="大家最近正在搜“王凯”"  onkeydown="getKey(event);return false;"/>
                        <input type="hidden"   name="via" value="text" />
                        <button type="button" onclick="changeKeywordTop();">
                            <img src="/static/image/header/xiaosousuoanniu.png">
                        </button>
                    </fieldset>
                </form> 
function getKey(event){if(event.keyCode==13)
    {
        changeKeywordTop();
    }
}
function changeKeywordTop(){
    var value = http://www.mamicode.com/$("form#search-form input[name=keyword]").val();
    console.log(value)
    var keyword = value;
    if(keyword !="") {
        window.location.href = "/search/"+ keyword +"/text";
    }
}

这是一个表单提交的代码,经过试验之后发现一个问题,就是输入法为英文的时候,按下去form文本框里面没有任何东西。后来发现这个问题是由于getKey()函数造成的。

改成这样就行了。

function getKey(event){
    if(event.keyCode != 13){
        return true;
    }
    if(event.keyCode==13)
    {
        changeKeywordTop();
        return false;
    }
}
<form id="search-form" method="get" action="/search" onsubmit="return checkIfKeywordExistsTop();">
<fieldset class="search">
<input type="text" name="keyword" placeholder="大家最近正在搜“王凯”" onkeypress="return getKey(event);"/>
<input type="hidden" name="via" value="text" />
<button type="button" onclick="changeKeywordTop();">
<img src="/static/image/header/xiaosousuoanniu.png">
</button>
</fieldset>
</form>  

 

js form 表达关于onpress 的一个问题