Javascript onsearch 이벤트 검색 시 textarea 값을 지우지 않는 방법

질문:

이 방법을 사용하고 있습니다http://www.w3schools.com/jsref/event_onsearch.asp
내가 원하는 것은 내가 검색한 텍스트가 텍스트 구역에 남아 있거나, 적어도 텍스트 구역으로 돌아가는 것이지, 내가 리턴 버튼을 눌렀기 때문에 사라지는 것이 아니다.
링크에서 다음과 같은 기능을 설명하기 때문에 텍스트를 지울 수 있습니다. "사용자가"ENTER "키를 누르거나 type ="검색 "요소의"x "단추를 누르면 onsearch 이벤트가 발생합니다."
그래서 그의 행동은 내가 x 단추를 누르는 것과 같다. 그러나 반드시 텍스트를 나중에 거기로 되돌릴 방법이 있을 것이다.
이것은 나의 현재 코드html 코드이다
 <form> <input type="search" name="search" id="searchid" onsearch="OnSearch(this)"/> </form>
저의javasript/jquery입니다.
function OnSearch(input) {
    alert("The current value of the search field is " + input.value);
    $("#searchid").val(input.value);
}
현재 발생하는 것은textarea가 가지고 있는 값을 정확하게 경고하는 것입니다. 비록textarea 값을 추가하지 않지만.
편집: 페이지를 다시 불러오는 것 같은데, 페이지를 다시 불러온 후에 실행되는 코드를 어떻게 삽입합니까?

답안

난 선택이 있어.지우기 기능을 피할 수 없기 때문에 매번 keypressed 전역 변수에 텍스트를 저장할 수 있으며, x 을 누르면 텍스트 상자에 이 값을 저장할 수 있습니다.코드는 다음과 같습니다.
DEMO HERE
var text=""; 
function OnSearch(input) {
    if(input.value == "") {
          $("#searchid").val(text);
    }
    else {
         alert("You searched for " + input.value);
    }
}

$(document).on('keyup','#searchid', function (e) {
    text=$(this).val();
    console.log(text);
});
업데이트
html이 양식에 있는 경우 다음을 수행할 수 있습니다.document.ready 텍스트가 있는지 확인하십시오. 만약 그렇다면 설정하십시오!!
$(document).ready(function()
{
   if(localStorage.getItem("text")!="")
   {
        $("#searchid").val(localStorage.getItem("text"));
   }
});


function OnSearch(input) {
    if(input.value == "") {
          $("#searchid").val(localStorage.getItem("text"));
    }
    else {
         alert("You searched for " + input.value);
    }
}

$(document).on('keyup','#searchid', function (e) {
    localStorage.setItem("text",$(this).val());
});