活腻了的西红柿

一枚默默的开发学习者

导航

JSP搜索结果关键字红色提醒

   首先判断传递过来的是否多关键字  keyword为最初关键字

       多关键字由空格分隔开

       if(keyword.indexOf(" ")!=(-1)){

keywordjs=keyword.replaceAll(" ","+");

}else{

       keywordjs=keyword;

       }

然后在页面加入一个隐藏域keywordjs,加入value值为Java中处理好的字符串

<form name="keyform">

    <input type="hidden" value=<%=keywordjs%> name="keywordjs" id="keywordjs">

</form>

最后通过JS获取隐藏域keywordjs的值,并将关键字红色提示

<script language="javascript" type="text/javascript">

var keyss = document.getElementById("keywordjs").value;

var keys = keyss.split("+");

var bookmark;

if(document.createRange){

var range = document.createRange();

}else{

var range = document.body.createTextRange();

bookmark = range.getBookmark();

}

var key;

for(var i = 0;key = keys[i];i++){

if(range.findText){

range.collapse(true);

range.moveToBookmark(bookmark);

while(range.findText(key)){

range.pasteHTML(range.text.fontcolor("#ff0000"));

}

}else{

var s,n;

s = window.getSelection();

s.collapse(document.body,0);

while(window.find(key)){

var n = document.createElement("SPAN");

n.style.color="#ff0000";

s.getRangeAt(0).surroundContents(n);

}

}

}

</script>

对于一些传递至JS会异常的特殊字符没有进行处理

posted on 2013-08-28 20:25  _卞卞  阅读(526)  评论(0编辑  收藏  举报