2015-08-14 38 views
0

嗨,感謝您的幫助!當您點擊輸入時,圖片標記onclick事件不起作用

我目前在SharePoint 2010中工作。我有一個搜索框使用圖像onclick()事件來觸發搜索。單擊圖像圖標時效果很好,但在文本框中單擊輸入一次時完全不起作用。這是按鈕的代碼。

<div style="position:relative; top:-3px; "> 
 
    <label for="Search"><b>SEARCH</b> 
 
    </label>&nbsp;&nbsp;&nbsp; 
 
    <label for="Content"> 
 
    <input id="Content" type="radio" name="radiou" value="URL" checked="checked" style="margin-bottom:5px" />Content</label> 
 
    <label for="Employees"> 
 
    <input id="Employee" type="radio" name="radiou" value="URL" style="margin-bottom:5px" />Employee</label> 
 
    <input id="search_txt" title="Enter search words" type="text" name="k" maxlength="80" size="25" />&nbsp; 
 
    <img src="/Style Library/Images/Search_button.png" onclick="submitSearch()" alt="Search Button" style="margin:0px; position:relative; top:7px; width:30px;"></img> 
 
</div>

這裏是激活按鈕點擊代碼的JavaScript。我想在輸入一個詞並點擊Enter鍵後也會被解僱。

< script type = "text/javascript" 
 
language = "JavaScript" > 
 
    // <![CDATA[ 
 
    function submitSearch() { 
 
    var radiovals = document.getElementsByName("radiou"); 
 
    var hostnameforsearch = window.location.hostname; 
 
    if (radiovals[0].checked) { 
 
     queryVal = $('#search_txt').val(); 
 
     var searchUrl = 'http://' + hostnameforsearch + '/search/results.aspx?k=' + queryVal + '&u=' + hostnameforsearch + '&cs=This Site'; 
 
     window.location = searchUrl; 
 
     return false; 
 
    } else { 
 
     queryVal = $('#search_txt').val(); 
 
     window.open('http://search.URL.com/Pages/PeopleResults.aspx?k=' + queryVal); 
 
    }; 
 

 
    }; // ]]> 
 
< /script>

感謝所有幫助! 肯

+0

所以,你真正想要的是調用submitSearch()當用戶按下TE輸入輸入? –

+0

感謝您回覆路易斯....是的...用戶在搜索文本框中輸入內容,然後點擊輸入並執行搜索。由於嵌套的表單問題,我無法使用表單標記。 –

+0

或者你想想。你爲什麼不能有兩種形式? – mplungjan

回答

0

這裏是爲我工作...

的Javascript

function submitSearch() { 
 
    var radiovals = document.getElementsByName("radiou"); 
 
    var hostnameforsearch = window.location.hostname; 
 
    if (radiovals[0].checked) { 
 
    queryVal = $('#search_txt').val(); 
 
    var searchUrl = 'http://' + hostnameforsearch + '/search/results.aspx?k=' + queryVal + '&u=' + hostnameforsearch + '&cs=This Site'; 
 
    window.location = searchUrl; 
 
    return false; 
 
    } else { 
 
    queryVal = $('#search_txt').val(); 
 
    window.open('http://search.URL.com/Pages/PeopleResults.aspx?k=' + queryVal); 
 
    }; 
 

 
}; 
 

 
$(document).ready(function() { 
 
    $("#search_txt").on("keyup", function(e) { 
 
    var code = (e.keyCode ? e.keyCode : e.which); 
 
    if (code == 13) { //Enter keycode 
 
     submitSearch(); 
 
    } 
 
    }); 
 
});

失蹤事件處理

<img src="/Style Library/Images/Search_button.png" onclick="submitSearch()" onkeydown="keyPressed(event)" alt="Search Button" style="margin-bottom:0px; width:30px;"></img>

0

使用JavaScript來檢測輸入鍵按下,然後提交

$(document).ready(function(){ 
$("#search_txt").on("keyup",function(e){ 
    var code = (e.keyCode ? e.keyCode : e.which); 
    if(code == 13) { //Enter keycode 
     submitSearch(); 
    } 
    }); 
}); 

演示:https://jsfiddle.net/farhanbaloch/devevwwy/

+0

謝謝Farhan我現在會嘗試。 –

+0

Farhan能否請您將我提供的代碼合併。我不知道這應該放在哪裏。我感謝您的幫助! –

+0

只需將它放置在任何地方或者如果您已經有文檔。準備好的功能,然後將內部的keyup功能放在你的頁面的任何地方 – Farhan

0

使用<form>代替<div>和事件處理程序附加到submit事件的形式。

+0

嗨哥多!我不能有一個嵌套的表單標記,另一個我不能刪除或重新定位或整個事情爆炸。 –

0

嗯,這很簡單,你沒有任何參考submitSearch輸入。

<input id="Employee" type="radio" name="radiou" value="URL" style="margin-bottom:5px" onkeydown="keyPressed(event)"/>Employee</label> 

然後在你的代碼

function keyPressed(e){ 
    if(e.which==13){ 
    submitSearch() 
    } 
} 
+0

我不知道如何在這個窗口提交代碼:-( –

+0

這也可以用路易斯。謝謝你的幫助! –