簡體   English   中英

Javascript無法在引導輸入中正常運行

[英]Javascript doesn't work as expected in bootstrap input

我想在用戶輸入單詞並按Enter時將其重定向到另一頁

<div class="form-group has-feedback">
    <input id="searchbox" type="text" class="form-control" placeholder="search" onkeypress="Fsearchbox(event)" />
    <i class="glyphicon glyphicon-camera form-control-feedback"></i>
</div>

<script>
function Fsearchbox(e) {
    var keynum;

    if(window.event) // IE                  
        keynum = e.keyCode;
    else if(e.which) // Other browsers                  
        keynum = e.which;

    if (keynum==13)
    {
        var x = document.getElementById("searchbox").value;
        window.location.href = '/Mo3taz/public/search/'+x;
    }
}
</script>

問題是當我在輸入中鍵入內容並按Enter時,頁面不會重定向到新位置,並且在當前頁面的URL http://localhost/Mo3taz/public/bio?之后顯示一個問號http://localhost/Mo3taz/public/bio?

是什么原因呢? 以及我該如何解決?

從您描述的行為中,我可以很容易地猜測到您的輸入是在<form>內部,並帶有GET方法(該方法將參數添加到URL之后的? ,但是您的參數為空,因為您的輸入沒有name屬性) 。

當您按Enter鍵時,將提交表單,並且不會考慮您的重定向。 為了防止表單提交並通過JS進行重定向,只需添加e.preventDefault();

固定代碼:

function Fsearchbox(e) {
    var keynum = e.keyCode || e.which;

    if (keynum==13){
        var x = document.getElementById("searchbox").value;
        window.location.href = '/Mo3taz/public/search/'+x;
        e.preventDefault();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM