php - 如何将数据从 html5 表单发送到 php 页面进行处理,而无需重新加载页面或转到 php 页面
问题描述
我正在建立一个网站,在某些部分中,我需要用户选择页面中三个选择元素的三个选项,然后单击搜索按钮在数据库中搜索用户想要的内容。但是 php 没有获取数据从表单中没有设置要提交的按钮的类型..这会导致按钮重新加载页面..但我不希望重新加载页面。
我试图将表单的操作设置为处理数据的 php 文件,但这会使情况变得更糟,如果点击搜索按钮,则会将用户重定向到 php 文件
表单的 html 代码
<form method="post">
<select class="select_box">
<option value="Choose a category">Choose a category</option>
<option value="category1">category1</option>
<option value="category2">category2</option>
<option value="category3">category3</option>
</select>
<select class="select_box">
<option value="Choose a place">Choose a place</option>
<option value="place1">place1</option>
<option value="place2">place2</option>
<option value="place3">place3</option>
<option value="place4">place4</option>
</select>
<select class="select_box">
<option value="Choose budget">Choose budget</option>
<option value="budget1">budget1</option>
<option value="budget2">budget2</option>
<option value="budget3">budget3</option>
<option value="budget4">budget4</option>
</select>
<button type="button" name="search_btn">Search</button>
</form>
我希望页面不会重新加载并根据 php 文件完成的搜索显示数据,但实际发生的是页面重新加载但预期数据出现在为其指定的位置
解决方案
您可以使用 Ajax,因为它允许您在不重新加载页面的情况下更新网页
在您的活动中添加此内容
$.ajax({
url: 'yourphpfile.php',
//get or post
type: 'post',
data: {
//name & password optional
name: 'yourinputdata',
password: 'yourinputpassword'..
},
success: function(response) {
location.reload(); // reloading page
}
});
在 php 文件中,使用 isset($_POST['name']) 和 isset($_POST['password']) 来确保您正在接收值并按照您的意愿操作它们。
推荐阅读
- firebase - 我可以修改用于 Firebase 的基于电子邮件链接的身份验证的模板吗?
- html - Outlook 2016 未加载某些背景颜色
- regex - 与行中的特定字符串不匹配的正则表达式
- reactjs - 如何模拟我的 React 组件中使用的依赖项?
- java - AndroidManifest 中的工具替换
- leaflet - 使用 Leaflet 的神秘“标记”(使用 Omnivore 和 MapQuest 插件)
- css - MUI 卡文本覆盖
- sql - SQL Hive - 计算前几个月的滚动 SUM、AVG
- android - Google 测试:Android 与 Linux EXPECT_DEATH 测试
- c# - 在 screenSpace 中获取 UnityEngine.UI.Images 位置并计算归一化偏移量(在覆盖画布内)