我有一個輸入表單的onblur和聚焦狀態後的JavaScript問題
<input id="txtSearch" class="txtSearch" name="SearchPhraseText" type="text"http value="<%= ServiceSite.Resources.Resources.SITEMATER_ENTER_SEARCH_TERM %>" onfocus="handleSearchFocus(this)" onblur="handleSearchBlur(this)" onkeypress="if (event.keyCode == 13) {search();}"/>
當我以下內容添加到$(文件)。就緒在我的JavaScript ..
if (window.location.search.indexOf("search") != -1){
$('#txtSearch').val("<%= Session["SearchPhrase"] %>"v);
}
因爲我有這個在我的其他地方javascript
function handleSearchFocus(searchBox) {
if ($(searchBox).val() == "<%= ServiceSite.Resources.Resources.SITEMATER_ENTER_SEARCH_TERM%>") {
$(searchBox).val("");
$(searchBox).css("color", "black");
}
}
function handleSearchBlur(searchBox) {
if ($(searchBox).val() == "") {
$(searchBox).css("color", "gray");
$(searchBox).val("<%= ServiceSite.Resources.Resources.SITEMATER_ENTER_SEARCH_TERM%>"); //should reference config file
}
}
這兩個函數用於處理焦點和模糊不再工作。當我點擊輸入框或點擊離開時,它們不會運行。我想要做的是如果有一個應該顯示的搜索值,顯示它。如果不是,則遵循上述模糊/聚焦功能中的邏輯。
任何Javascript錯誤?你是否確認函數完全沒有執行,而不是因爲沒有滿足'if'條件而沒有做任何事情? – 2012-07-26 22:12:25
您是否收到任何錯誤?你在輸入標籤中有'type =「text」http',這可能不會導致問題,但是不正確。你也在'$('#txtSearch')。val(「<%= Session [」SearchPhrase「]%>」v);'中有一個零散的「v」;',我猜可能是錯字或複製/粘貼錯誤,但如果它在您的代碼中,則會導致問題。 – MrOBrian 2012-07-26 22:13:49
一個附註:考慮將searchBox作爲jQuery對象進行緩存。 EX:var $ searchBox = $(searchBox)那麼你不必另外調用主jQuery函數2次。 – jholloman 2012-07-26 22:14:13