[英]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.