我正在配置页面页脚中引用的一小段js:
<script type='text/javascript' src='http://test.site.com/wp-content/themes/spacious/js/jsfile.js?ver=1.0.5'></script>
以下是输入的html:
<div>
<form id="search" action="" method="POST">
<input type="text" id="str" name="str" value="" />
<input type="submit" value="search" />
</form>
<div id="search_results"></div>
</div>
js脚本文件如下:
(function func() {
$("#search").bind('submit', function () {
var value = $('#str').val();
$.post('db_query.php', {
value: value
}, function (data) {
$("#search_results").html(data);
});
return false;
});
});
php文件如下:
<?php
try {
$db = new PDO('sqlsrv:Server=xx.xx.xx.xx;Database=xxxx','user','pass');
}
catch (Exception $e) {
echo 'PDO connection error: ' . $e->getMessage();
exit(1);
}
$sql=$db->prepare("SELECT top 20 Timestamp,Information,Location FROM Table WHERE JobReference = :val");
$sql->execute(array(':val'=>$_REQUEST['value']));
echo '<table>';
echo '<th>Date Time</th><th>Information</th><th>Location</th>';
while ($row=$sql->fetch())
{
echo "<tr><td>$row[Timestamp]</td><td>$row[Information]</td><td>$row[Location]</td></tr>";
}
echo '</table>';
?>
当我尝试使用Chrome进行调试时,它会在第一个&#39;(&#39;然后跳转到函数的末尾)停止。首先我认为这是因为.php文件引用,但它似乎甚至没有达到它?
我不知道该去哪儿...
非常感谢,Cameron。
答案 0 :(得分:1)
您只是声明了一个名为func
的JavaScript函数。但是你还必须调用该函数才能使代码正常工作。
在函数末尾添加另一个括号,如下所示:
(function func() {
$("#search").bind('submit', function () {
var value = $('#str').val();
$.post('db_query.php', {
value: value
}, function (data) {
$("#search_results").html(data);
}); return false;
});
})();
答案 1 :(得分:0)
除了@Nano回答,你可以这样解决:
(function($) { //pass $ as jQuery in this scope
$("#search").bind('submit', function () {
var value = $('#str').val();
$.post('db_query.php', {
value: value
}, function (data) {
$("#search_results").html(data);
}); return false;
});
})(jQuery); //$ is jQuery