Html表单输入已发送,然后卡在php页面中
Html form input sent, then stuck in php page
我的情况如下,我在Jquery Mobile页面中输入了一个表单,而我提交的表单没有表单按钮。我需要php返回的结果(它在JSON中)返回到html中。但是,当我按下enter按钮提交搜索时,它链接到php页面,返回结果并停留在那里,而不是返回到html页面。谢谢你抽出时间!
代码:
$("#searchform").submit(function( event ) {
$.ajax({
type: "GET",
url: "http://test.com/App/searchtest.php",
dataType:'json',
success: function(data){
console.log(data);
$("#content").append(data);
}
})
});
<form id="searchform" name="searchform" method="post"
action="http://www.test.com/App/searchtest.php" data-ajax="false">
<input type="search" id="searchinput" name="searchterm"
value="" data-mini="true" placeholder="Where?"/>
</form>
<?php
ini_set('display_errors', 1); error_reporting(E_ALL);
include 'connect.php';
$search = ($_POST['searchterm']);
$keywords = explode (" ", $search);
$columns = array("country","name");
$andParts = array();
foreach ($keywords AS $keyword){
$orParts = array();
foreach($columns AS $column){
$orParts[] = $column . " LIKE '%" . ($keyword) . "%'";
}
$andParts[]= "(" . implode($orParts, " OR ") . ")";
}
$and = implode ($andParts, " AND ");
$sql = "SELECT * FROM Listing WHERE $and ";
$result = mysqli_query($con,$sql);
$output = array();
// fetch your results
while( $row = mysqli_fetch_assoc($result)) {
// add result row to your output's next index
$output[] = $row;
}
// echo the json encoded object
echo json_encode( $output );
?>
oskr建议的现代方法是使用.preventDefault()
-
$("#searchform").submit(function( event ) {
event.preventDefault();
$.ajax({
type: "GET",
url: "http://test.com/App/searchtest.php",
dataType:'json',
success: function(data){
console.log(data);
$("#content").append(data);
}
})
});
Ben您的代码的问题是您同时发送ajax请求和提交表单,这意味着链接到php页面,重新加载页面,从而取消ajax成功处理程序
为了避免这种情况,您应该在提交事件处理程序或调用event.preventDefault
结束时返回false,以阻止表单提交
我希望这能有所帮助:
$("#searchform").submit(function( event ) {
$.ajax({
type: "GET",
url: "http://test.com/App/searchtest.php",
dataType:'json',
success: function(data){
console.log(data);
$("#content").append(data);
}
})
return false;
});
相关文章:
- Javascript运行php文件,然后下载文件
- 如何使用javascript验证表单中的数据,然后调用php页面
- 使用JavaScript或AJAX从HTML表单中提取数据,然后将其传递给PHP
- 使用javascript从表单发布一个值,然后使用php发布
- 通过 AJAX 调用 PHP 文件,将 $_GET 变量传递到 MySQL 查询中,然后回显到响应中
- AngularJS工厂调用PHP,然后返回AngularJS
- 通过.js将值传递到php,然后在SQL语句中使用
- php检测浏览器窗口宽度,然后包括适当的php文件
- Node.js对外部PHP aes-256-cbc进行解密,然后对其进行加密
- 如何检测移动浏览器(PHP/Javascript),然后进行图像/文本更改
- 使用$.post()将PHP数组发送到jQuery,然后循环使用这些值
- 将Javascript发布到PHP,然后在另一个javascript中检索
- 使用 jquery 从 php 获取数据,然后再次传递给 php
- 添加或删除文本框,然后使用 PHP 或 jquery 获取它们的值
- Javascript计算脚本,用于计算表单输入值,然后另存为page2.php的隐藏输入
- 是否可以将 php 变量分配给 jquery var,然后刷新该 jquery 变量
- 使用CryptoJS散列密码的安全性,然后使用php password_hash()
- 使用 Json 获取 Twitter 提要,然后使用 PHP 将输出转换为 PHP 变量?- 推特-2-json脚本
- 使用 JSON 从 JavaScript/jQuery 中的 PHP 获取数组,然后对其进行操作
- 从表单操作调用JS函数,然后从JS调用PHP