php - 以模式而不是新页面加载查询搜索结果
问题描述
编辑:这是一个屏幕截图:模态屏幕截图
编辑:我编辑了代码,单击“搜索”按钮时不再重定向到新页面,但 index.php 的输出仍未显示在模式中。当我单击“搜索”时,模式弹出正文为空。如何让 index.php 的输出显示在模态的正文中?
我有一个搜索栏供用户输入查询。单击“搜索”后,查询结果应出现一个模式。
我的代码在模式窗口中没有显示任何内容。当我单击“搜索”按钮时,模式窗口会打开,但随后会立即加载一个带有查询结果的新页面。
如何更改它以使查询结果显示在模式窗口而不是新页面中?
索引.php
<head>
<title>Search</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
<form method="POST" action="#">
<input type="text" name="q" placeholder="Enter query"/>
<input type="button" name="search" value="Search" data-toggle="modal" data-target="#mymodal">
</form>
</body>
<script>
$('form').submit(function(e){
e.preventDefault() // do not submit form
// do get request
$.get( 'search.php', { q : },function(e){
// then show the modal first
$('#mymodal').modal('show');
// then put the results there
$('#mymodal:visible .modal-container .modal-body').html(e);
});
});
</script>
<!-- The Modal -->
<div class="modal" id="mymodal">
<div class="modal-dialog">
<div class="modal-content">
<!-- Modal Header -->
<div class="modal-header">
<h4 class="modal-title">Modal Heading</h4>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<!-- Modal body -->
<div class="modal-body">
</div>
<!-- Modal footer -->
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
搜索.php
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);
include_once('db.php'); //Connect to database
if(isset($_POST['q'])){
$q = $_POST['q'];
//get required columns
$query = mysqli_query($conn, "SELECT * FROM `words` WHERE `englishWord` LIKE '%$q%' OR `yupikWord` LIKE '%$q%'") or die(mysqli_error($conn)); //check for query error
$count = mysqli_num_rows($query);
if($count == 0){
$output = '<h2>No result found</h2>';
}else{
while($row = mysqli_fetch_assoc($query)){
$output .= '<h2>'.$row['yupikWord'].'</h2><br>';
$output .= '<h2>'.$row['englishWord'].'</h2><br>';
$output .= '<h2>'.$row['audio'].'</h2><br>';
$audio_name = $row['audio'];
$output .= '<td><audio src="audio/'.$audio_name.'" controls="control">'.$audio_name.'</audio></td>';
}
}
echo $output;
}else{
"Please add search parameter";
}
mysqli_close($conn);
?>
解决方案
您可以通过以下更改尝试此可能的解决方案 - 删除表单标签 - 在搜索按钮上添加 Onclick 列表 - 首先将内容放入模态,然后显示模态
索引.php
$(document).ready(function () {
$('.search').click(function () {
var q= $('#q').val();
// AJAX request
$.ajax({
url: 'search.php',
type: 'post',
data: {
q: q
},
success: function (response) {
// Add response in Modal body
$('.modal-body').html(response);
$('#mymodal').modal('show');
}
});
});
});
<head>
<title>Search</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href='bootstrap/css/bootstrap.min.css' rel='stylesheet' type='text/css'>
<!-- Script -->
<script src='jquery-3.1.1.min.js' type='text/javascript'></script>
<script src='bootstrap/js/bootstrap.min.js' type='text/javascript'></script>
</head>
<body>
<input type="text" id="q" name="q" placeholder="Enter query"/>
<input type="button" class="search" name="search" value="Search">
</body>
<!-- The Modal -->
<div class="modal" id="mymodal">
<div class="modal-dialog">
<div class="modal-content">
<!-- Modal Header -->
<div class="modal-header">
<h4 class="modal-title">Modal Heading</h4>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<!-- Modal body -->
<div class="modal-body">
</div>
<!-- Modal footer -->
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
推荐阅读
- keras - 在 Keras 2.2.2 fit_generator 中将 batch_size 从“str”转换为“int”时出错
- javafx - 具有最小高度的 Javafx Titlepane
- node.js - 错误:EACCES:权限被拒绝,打开 .audit.json
- c# - 将对象转换为与 IEnumerable 集合相同的类型
- arrays - Does Swift offer any built-in function to return the result of appending to an immutable array?
- sql-server - Creating a labeled column based on matches in SQL Server
- python - Generate one hot encodings from dict values
- hosting - 如何解决 Plesk 错误:内部错误:filemng 失败
- php - 这是使用 $_GET 的合理安全方式吗
- google-api-php-client - 如何使用 google-api-php-client 创建联系人 api?