검색 금지어 설정 코드 한번만 봐주실수있나요?
본문
<form name="fsearchbox" method="get" action="<?php echo G5_BBS_URL ?>/search.php" onsubmit="return fsearchbox_submit(this);">
<input type="hidden" name="sfl" value="wr_subject||wr_content">
<input type="hidden" name="sop" value="and">
<label for="sch_stx" class="sound_only">검색어 필수</label>
<input type="text" name="stx" id="sch_stx" maxlength="20" placeholder="검색어를 입력해주세요">
<button type="submit" id="sch_submit" value="검색"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">검색</span></button>
</form>
<?
$filter = explode(",", trim($config['cf_filter']));
for ($i=0; $i<count($filter); $i++) {
$str = $filter[$i];
?>
<input type="hidden" id="test01" value="<?php echo $str?>">
<script>
function fsearchbox_submit(f) {
var test = document.getElementById('test01').value;
var search = document.getElementById('sch_stx').value;
alert(test);
alert(search);
if (f.stx.value.length < 2) {
alert("검색어는 두글자 이상 입력하십시오.");
f.stx.select();
f.stx.focus();
return false;
}
// 검색에 많은 부하가 걸리는 경우 이 주석을 제거하세요.
var cnt = 0;
for (var i = 0; i < f.stx.value.length; i++) {
if (f.stx.value.charAt(i) == ' ')
cnt++;
}
if (cnt > 1) {
alert("빠른 검색을 위하여 검색어에 공백은 한개만 입력할 수 있습니다.");
f.stx.select();
f.stx.focus();
return false;
}
if (test == search) {
alert(search + '는 검색불가능한 단어입니다.');
return false;
}
return true;
}
</script>
<?
}
?>
금지어를 불러와서 검색어가 그중 포함 되어있으면 검색불가능하다고 알려주는 경고창을 띄울려는데 이게 배열이 첫번째거만 먹히네요....
어딜 어떻게 고쳐야하나요
답변 1
id는..고유값인데 배열을 넣으니까 ???.....소스가..
점심때도 봤던 비슷한 질문 하신거 같아서.....꼭 필요하신 기능이신거 같아
일단은 게시판글쓰기 소스 가져다 간단하게 적용해본 소스입니다.
bbs/ajax.filter.php는 원본 안건드리고 그냥 검색창쪽 있는 소스만 수정했습니다.
<legend>사이트 내 전체검색</legend>
<form name="fsearchbox" method="get" action="<?php echo G5_BBS_URL ?>/search.php" onsubmit="return fsearchbox_submit(this);">
<input type="hidden" name="sfl" value="wr_subject||wr_content">
<input type="hidden" name="sop" value="and">
<label for="sch_stx" class="sound_only">검색어 필수</label>
<input type="text" name="stx" id="sch_stx" maxlength="20" placeholder="검색어를 입력해주세요">
<button type="submit" id="sch_submit" value="검색"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">검색</span></button>
</form>
<script>
function fsearchbox_submit(f)
{
var search = document.getElementById('sch_stx').value;
$.ajax({
url: g5_bbs_url+"/ajax.filter.php",
type: "POST",
data: {
"content": search
},
dataType: "json",
async: false,
cache: false,
success: function(data, textStatus) {
content = data.content;
}
});
if (content) {
alert("금지단어('"+content+"')가 포함되어있습니다");
return false;
}
if (f.stx.value.length < 2) {
alert("검색어는 두글자 이상 입력하십시오.");
f.stx.select();
f.stx.focus();
return false;
}
// 검색에 많은 부하가 걸리는 경우 이 주석을 제거하세요.
var cnt = 0;
for (var i=0; i<f.stx.value.length; i++) {
if (f.stx.value.charAt(i) == ' ')
cnt++;
}
if (cnt > 1) {
alert("빠른 검색을 위하여 검색어에 공백은 한개만 입력할 수 있습니다.");
f.stx.select();
f.stx.focus();
return false;
}
return true;
}
</script>
!-->