我正在尝试使用jQuery和div设置一个类似<frame>
的页面。在index.php中,我在加载时执行此操作:
var content;
$(function() {
content = $(".content-frame");
content.load('intro.html');
这很好用,但我有一个搜索栏需要将其结果加载到div中。因此,当用户点击“搜索”按钮时,它会运行:
content.load("search.php?q=" + $("#search_query").val()");
成功将我的数据库中的结果加载到div中。
我的问题是在我搜索任何内容之前打开jQueryUI对话框的按钮,但在搜索之后不会弹出。它甚至没有抛出错误,只是没有。我在加载search.php文件后检查了源代码,对话框的div仍在那里。
加载php文件时我需要做些什么吗?对话框发生了什么?
index.php的正文:
<body>
<!-- Login button.. This opens a jQuery dialog() -->
<? echo "<input id=\"create-user\" type=\"button\" value=\"$btn_msg\">"; ?>
<br \><input id="search_query" type="text"><input type="button" onclick="doSearch()" value="Search">
<!-- Login form.. Contents of the jQuery dialog() -->
<div id="dialog-form" title="Login/Register">
<p class="window_tip">Enter your info, or click the "Register" tab to create a new user.</p>
<form>
<fieldset>
<input type="text" value="User" name="name" id="name" class="text ui-widget-content ui-corner-all" />
<input type="password" value="argaerg" name="password" id="password" value="" class="text ui-widget-content ui-corner-all" />
<div id="accordion">
<h3><a id="accordion-link" href="#">Register</a></h3>
<div>
<p>Fill out the information above <i>and</i> below.<br \>Then click the "Register" button.</p>
<input type="text" value="Email" name="email" id="email" value="" class="text ui-widget-content ui-corner-all" />
<?php
require_once('recaptchalib.php');
echo recaptcha_get_html($public_key);
?>
</div>
</div>
</fieldset>
</form>
</div>
<div class="content-frame"></div> <!-- This is where I load pages into -->
</body>
search.php的正文:
<body>
<?
include 'connect.php';
$query = $_GET['q'];
$result = mysql_query("SELECT * FROM developers WHERE devname = '$query'");
while($row = mysql_fetch_array($result)){
echo "<a href=\"javascript:loadURL('profile.php?id=" .$row['devid']. "')\">" .$row['devname']. "</a>";
echo "<br />";
}
?>
</body>
和,上面提到的2个功能:
function loadURL(url) {
content.load(url);
}
function doSearch() {
loadURL("search.php?q=" + $("#search_query").val());
}