ユーザーが検索フォームのテキスト領域をクリックすると、div を表示するこの JavaScript があります。
基本的に、検索フォームがホームページにプルされている瞬間に
<?php include(); ?>
ユーザーがホームページにいるときに、テキスト領域をクリックすると div が表示され、テキスト領域から外れて (onblur)、div が非表示になります。この関数は一度だけ発生し、二度と発生しません。
ただし、ユーザーが検索を押して検索が送信されると、関数が再び開始されるため、ユーザーがテキスト領域をクリックすると div が表示され、そこから外れて非表示になります。以前と同じように、これは 1 回だけ発生します。
ユーザーがテキスト フィールドをクリックするたびに div を表示したくありません。サイトのどのページにいても、この div を 1 回だけ表示したいのです。
私は javascript を search.php ファイルに入れました。このファイルは、ホームページと私のサイトの他のすべてのページに引っ張られます。
これがおそらく、関数が移動するすべての新しいページで機能が発生する理由ですが、ユーザーがサイトのどこからでも検索バーにアクセスできるようにしたいのですが、home.php または profile.php または他のページでは、div をユーザーに 1 回だけ表示し、セッション全体または Cookie セッションでは再度表示したくありません。
これは可能ですか、誰かが私に方法を教えてもらえますか?
ありがとう
<script>
$(function() {
$(".search_prompt").hide();
var focusin_flag = false,
focusout_flag = false;
$("#text").focusin(function() {
if (!focusin_flag) {
$(".search_prompt").show();
focusin_flag = true;
}
}).focusout(function () {
if (!focusout_flag ) {
$(".search_prompt").hide();
focusout_flag = true;
}
function timeout_init() {
setTimeout('search_prompt()', 2000);
}
});
});
</script>
検索スクリプト:
<form method="get" action="">
<input type="hidden" name="dosearch" value="1">
<input type="text" id="text" name="query" class="searchbox" placeholder="Search Name/Location" style="width:120px;"/>
<input type="image" src="../PTB1/assets/img/icons/search.png" height="19" width="20" class="searchbutton" name="submit" value="Start Search" />
</form>
<?php
//PHP CODE STARTS HERE
if(isset($_GET['dosearch'])){
// Change the fields below as per the requirements
$db_host="localhost";
$db_username="root";
$db_password="";
$db_name="";
$db_tb_atr_name="display_name";
//Now we are going to write a script that will do search task
// leave the below fields as it is except while loop, which will display results on screen
mysql_connect("$db_host","$db_username","$db_password");
mysql_select_db("$db_name");
$query=mysql_real_escape_string($_GET['query']);
$query_for_result=mysql_query("SELECT *,MATCH(display_name, location, sex, ethnicity, hobbies, station, age, weight_st, weight_lb, height_ft, height_in, build) AGAINST ('$query' IN BOOLEAN MODE) AS relevance FROM ptb_stats WHERE MATCH(display_name, location, sex, ethnicity, hobbies, station, age, weight_st, weight_lb, height_ft, height_in, build) AGAINST('$query' IN BOOLEAN MODE) ORDER BY relevance DESC LIMIT 5");
echo "<div class=\"search-results\">";
while($data_fetch=mysql_fetch_array($query_for_result))
{
echo "<div class=\"text\"><a href=\"profile.php?id={$data_fetch['user_id']}\" class=\"search\">";
echo "<div class=\"spacing\"><img width=35px height= 30px src=\"data/photos/{$data_fetch['user_id']}/_default.jpg\" class=\"boxgridsearch\"/> ";
echo substr($data_fetch[$db_tb_atr_name], 0,160);
echo "</a></div></div>";
}
echo "<div class=\"morebutton-search\"><a href=\"search_results.php?query=$query\" \">+ view more results</a></div>";
mysql_close();
}
?>