2014-02-26 53 views
1

提交按鈕,我需要添加類的Opencart的搜索輸入元素(header.tpl搜索不使用jQuery

HTML代碼:

<input type="text" name="search" id="input-search" class=""/> 

jQuery代碼:

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#input-search").keyup(function (e) { 
    if (e.keyCode == 13) { 
    $("#input-search").addClass("button-search"); 
    } 
    }); 
});  
</script> 

我正在使用Opencart並重定向到搜索頁面,您必須擁有類。按鈕搜索。我不想要提交按鈕。
當我添加一些文本到輸入,然後當我按Enter時,腳本應該添加類到輸入並重定向到Opencart搜索頁面。

+0

你有形式? – Jai

+0

我不認爲只需將該類添加到輸入元素即可提交表單。你需要用js提交。 –

+0

@在Opencart中你不能在搜索表單。是的,我有js文件(common.js),並定義了.button-search – ViktorR

回答

0

當按鈕是一個形式裏面,你可以提交:

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#input-search").keyup(function (e) { 
    if (e.keyCode == 13) { 
    $("#input-search").addClass("button-search"); 
    $(this).closest('form').submit(); 
    } 
    }); 
});  
</script> 
0

,你可以改成這樣:

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#input-search").keyup(function (e) { 
    var kc = e.keyCode || e.which; 
    if (kc == 13) { 
     $(this).addClass("button-search");// get the current context with 'this' 
     window.location.href = "../yoursearchpageurl?" + $(this).serialize(); 
    } 
    }); 
});  
</script> 

正如你所說,你沒有一個形式在你的頁面中,所以當你添加類到你的按鈕,然後就可以改變你的頁面url,建議使用$(this).serialize()

+0

@dreamweiver OP沒有在他的頁面中的表單,所以不需要提交按鈕。 _as OP在他評論中發表評論_ – Jai

+0

那麼你知道什麼,你現在只是編輯了答案,這使我的評論超出了範圍,因此刪除了它。 – dreamweiver

0

您需要使用事件委託方法如下圖所示:

$('body').on('keyup','#input-search', function (e) { 
    if (e.keyCode == 13) { 
    $(this).addClass("button-search"); 
    } 
    }); 
0

如果你想要做的是重定向到一個頁面,從input,你可以做以下window.location.href = "?search=" + this.value;

您的代碼會像值:

<script type="text/javascript"> 
$(document).ready(function() { 
    $("#input-search").keyup(function (e) { 
    var kc = e.keyCode || e.which; 
    if (kc == 13) { 
    $("#input-search").addClass("button-search"); 
    window.location.href = "?search=" + this.value; 
    } 
    }); 
});  
</script>