ここに簡単なアプリケーション(QandATable2.php) があります。ユーザーがプラス ボタンをクリックすると、モーダル ウィンドウが開き、別のページ (previousquestions.php) に保存されている詳細が表示されます。
今私が抱えている問題は、テキストボックスが空白のときに「検索」ボタンをクリックすると、ページが独自のページにロードされ、そのページに詳細が表示されることがわかります。これは正しくありません。
私がやりたいことは、ユーザーが検索ボタンをクリックした場合、詳細をページ全体ではなく、モーダル ウィンドウ内に保存することです。使用する最善の解決策は、iframe を使用することだと聞きました。それで、iframeを使用してこれを達成する方法を知っている人はいますか?
私が使用しているモーダル ウィンドウは SimpleModal と呼ばれ、その Web サイトはこちらです。
以下は QandATable2.php コードで、プラス ボタンを表示し、モーダル ウィンドウを開き、モーダル ウィンドウのコンテンツを previousquestions.php ページにリンクします。
<script type="text/javascript">
function plusbutton() {
// Display an external page using an iframe
var src = "previousquestions.php";
$.modal('<iframe src="' + src + '" height="100%" width="100%" style="border:0">');
return false;
}
function closewindow() {
$.modal.close();
return false;
}
</script>
<h1>CREATING QUESTIONS AND ANSWERS</h1>
<table id="plus" align="center">
<tr>
<th>
<a onclick="return plusbutton();">
<img src="Images/plussign.jpg" width="30" height="30" alt="Look Up Previous Question" class="plusimage"/>
</a>
<span id="plussignmsg">(Click Plus Sign to look <br/> up Previous Questions)</span>
</th>
</tr>
</table>
以下は、モーダル ウィンドウに詳細を表示し、検索機能が保存されている場所の previousquestions.php コードです。
<?php
foreach (array('questioncontent') as $varname) {
$questioncontent = (isset($_POST[$varname])) ? $_POST[$varname] : '';
}
?>
<div id="previouslink">
<button type="button" id="close" onclick="return closewindow();">Close</button>
<h1>PREVIOUS QUESTIONS</h1>
<p>Search for a previous question by entering in a phrase in the search box below and submitting the phrase</p>
<form action="previousquestions.php" method="post">
<p>Search: <input type="text" name="questioncontent" value="<?php echo $questioncontent; ?>" /></p>
<p><input id="searchquestion" name="searchQuestion" type="submit" value="Search" /></p>
</form>
</div>
<?php
//...connected to DB
if (isset($_POST['searchQuestion'])) {
$questionquery = "SELECT QuestionContent FROM Question
WHERE(QuestionContent = '".mysql_real_escape_string($questioncontent)."')";
if (empty($questioncontent)){
echo "Please enter in a phrase in the text box in able to search for a question";
}
?>