我正在尝试在index.html文件中创建一个html表单,我可以通过文件searchFile.php通过PHP查询文本文件中的一行字符,获取特定行并以所述形式显示在index.html。
我的问题是我的搜索结果字段中没有显示任何内容,也没有显示错误消息或搜索结果。
更新!我已经进一步调查了我的问题,我意识到我使用Search
按钮的方式不允许在页面上显示任何回声页面将再次更新,并删除echo
内容。不过,我不知道如何在不使用两个按钮的情况下解决这个问题,一个用于搜索,另一个用于获取搜索结果。
这是我到目前为止所提出的:
的index.html
</head>
<body>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">
$(function() {
// getting the search term
var searchString = $("#search_box").val();
// forming the searchString
var data = 'search='+ searchString;
//if searchString is not empty
if(searchString) {
// call ajax
$.ajax({
type: "POST",
url: "searchFile.php",
data: data,
beforeSend: function(html) { // this happens before actual call
$("#results").html('');
$("#searchresults").show();
$(".word").html(searchString);
},
success: function(html){ // this happens after we get results
$("#results").show();
$("#results").append(html);
}
});
}
return false;
});
</script>
<form name="theForm" method="post">
Name: <input type='text' onclick="ajaxFunction();" name='search' class='search_box' id='search_box'/> <br />
<input type='submit' value='Search' class="search_button" ><br />
</form>
<div id="searchresults">Result: <span id="results" class="update"></span></div>
</body>
</html>
searchFile.php
<?php
$search = explode(' ', $_REQUEST["search"]);
$lines = file('file-export.txt');
foreach($lines as $line)
{
if(strpos($line, $search[0]) !== false && strpos($line, $search[1] !== false)) {
echo '<div id="searchresults">' . $search . '</div>';
}else{
echo '<div id="searchresults">' . "No match" . '</div>';
}
}
?>
修改:使用 action =“searchFile.php”更新了按钮字段 编辑2:运行搜索按钮 编辑3:轻微更改
答案 0 :(得分:0)
您正在尝试在不存在的块中找到搜索字符串
var searchString = $("#search_box").val();
您的ID search_box 没有阻止,只有 search_box ,即 $(&#34; .search_box&#34;)或
<input type='text' onclick="ajaxFunction();" name='search' class='search_box' id='search_box'/>