Jquery实现form表单提交后局部刷新页面的多种方法
最近做一个小项目,刚好需要用到搜索功能,实现搜索框内输入数据然后按回车或者点击“提交”,然后给后台数据库处理并返回数据给前端,在前端局部更新数据。
但是遇到了一个小问题,就是form表单下任意输入框输入完按回车提交,整个页面都会刷新,就算我用ajax从后台取出数据返回前端把页面更新了,整个页面还是会立马刷新成原来的样子。
问题和ajax其实并没有太大关系。是js部分要进行一定的转换。
测试代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function ()
{
$("#form1").submit(function ()
{
$("#show").text("444");
}); $("#form2").submit(function ()
{
$("#show").text("777");
//中间可以做一些ajax数据交互,让"777"为后台返回的值
return false;
}); $("#btn").click(function ()
{
$("#show").text("555");
}); $("#num3").keydown(function(e)
{
//按下键盘触发函数
if(e.keyCode==13)
{
//如果按下的是回车
$("#show").text("666"); //处理事件
}
});
})
</script>
</head>
<body>
<form id="form1">
表单一:<input type="text">
<input type="submit" value="在左侧输入框按回车或点击此按钮,可以看到文本值333一闪而过为444又回到333">
</form> <form id="form2">
表单二:<input type="text">
<input type="submit" value="在左侧输入框按回车或点击此按钮,可以看到文本值333改为777不变回去">
</form> 独立输入框(按回车更新文本为666):<input type="text" id="num3">
<br> <button id="btn">点击更改文本值为555</button>
<span id="show">333</span>
</body>
</html>
界面:

首先form不能有action跳转,有action跳转是肯定会更新或者跳转到其他页面的
方法一:给form表单写一个onsubmit函数,在最后加一句:return false; 如果不加return false,提交页面时,整个页面会立马刷新,数据改变只是一闪而过;
方法二:不用<input type="submit">的方式,改为设置一个button按钮,让用户通过手动点击按钮来实现数据更改。
此问题归根结底与ajax并没有直接关系,ajax只是前后端交互的一种手段,最后还是要通过前端来实现数据部分更新的。这个问题是前端的问题。
转载链接:https://www.cnblogs.com/dhx96/p/6795057.html
Jquery实现form表单提交后局部刷新页面的多种方法的更多相关文章
- 通过jquery实现form表单提交后不跳转页面,保留当前页面
jquery代码: <script type="text/javascript" src="../js/jquery-1.8.3.min.js">& ...
- jquery模拟form表单提交并新打开页面
/** * form表单提交本页面打开 * @param url * @param params */ function postCurrent(url,params){ var form = $(& ...
- jQuery实现form表单基于ajax无刷新提交方法详解
本文实例讲述了jQuery实现form表单基于ajax无刷新提交方法.分享给大家供大家参考,具体如下: 首先,新建Login.html页面: <!DOCTYPE html PUBLIC &quo ...
- phpcms v9自定义表单提交后返回上一页实现方法
PHPcms v9中提交自定义表单后默认都是回到首页的,是不是感觉很不爽! 接下来,就说下phpcms v9自定义表单提交后返回上一页实现方法. 1.找到这个文件 phpcms\modules\for ...
- 怎么实现form表单提交后不重新刷新当前页面
怎么实现表单提交后不重新刷新当前页面 如何实现表单提交后不重新刷新当前页面 <form name='form1' id='form1' action='/xbcw/cw/xx_xx.ac ...
- jQuery判断 form表单提交时一些文本框的判断
一: form表单提交时如果表单里有input标签为空那么不提交form表单. <head> <script type="text/javascript"> ...
- jQuery补充之jQuery扩展/form表单提交/滚动菜单
jQuery扩展 为了避免重复造轮子,能高效使用别人的代码,所以有了扩展. jQuery扩展有两种方式: 自执行函数方式 定义函数,并执行函数. 自执行函数: (function(jq){ jq.ex ...
- js form表单提交后如何可以不刷新页面 的解决办法
表单可实现无刷新页面提交,无需页面跳转,如下: 通过一个隐藏的iframe实现, form表单的target设置为iframe的name名称,form提交目标位当前页面iframe则不会刷新页面 &l ...
- DedeCMS实现自定义表单提交后发送指定QQ邮箱的方法
如月cruyue在做DedeCMS自定义表单发送邮箱的教程,发现大部分都是在php文件里写死固定字段内容,这样虽然也能实现自定义表单提交后发送指定邮箱,但是很不智能,如月cruyue想要一个我们自定义 ...
随机推荐
- jzoj5843
给定 n 个正整数序列 ,每个序列长度为m. 选择至少 1 个序列,在每个被选择的序列中选择一个元素,求出所有被选择的元素的 gcd. 求所有方案的结果之和,答案对 1e9+7 取模.两种方案不同,当 ...
- QuantLib 金融计算——修复 BatesProcess 中的两个 Bug
QuantLib 金融计算--修复 BatesProcess 中的两个 Bug 我发现了 BatesProcess 中的两个 Bug: 基类 HestonProcess::factors 的返回值取决 ...
- ★ phpStudy安装SSL证书实现https链接
[准备] (1)phpstudy下载:http://phpstudy.php.cn/ (2)phpstudy集成环境下正常运行的网站 (3)避免意外请先备份(复制)好httpd.conf配置文件 ...
- 如何安装windows7
前因:之前安装的win7的系统,用了激活工具,刚开始的几个星期还没察觉有何问题.直到有天系统给出异常提示:系统资源不足,无法完成请求的服务.仔细排查之后发现是系统内核句柄数一直增加不释放,句柄数大概有 ...
- 设置pip源头地址
更新pip源 1 . 可以直接在pip时加入参数 比如: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple mysqldb 2 . 修改默 ...
- hadoop1.x异常
可能是存在class冲突 http://stackoverflow.com/questions/25130799/hadoop-java-io-ioexception-call-to-localhos ...
- Spring Security构建Rest服务-1001-spring social开发第三方登录之spring social基本原理
OAuth协议是一个授权协议,目的是让用户在不将服务提供商的用户名密码交给第三方应用的条件下,让第三方应用可以有权限访问用户存在服务提供商上的资源. 接着上一篇说的,在第三方应用获取到用户资源后,如果 ...
- 【数组】Product of Array Except Self
题目: iven an array of n integers where n > 1, nums, return an array output such that output[i] is ...
- 如何VMare虚拟机里安装Mac操作系统(图文详解)
不多说,直接上干货! 大部分用户玩的是windows,现在,跟随我来玩玩Mac. 1. VMware Workstation 11 2. unlocker 206(for OS X 插件补丁),这是V ...
- jdk1.8以前不建议使用其自带的Base64来加解密
JDK1.8之前的base64是内部测试使用的代码,不建议生产环境使用,而且未来可能会移除, JDK1.8提供最新可以正式使用的Base64类, 不要使用JDK中自带的sun.misc.BASE64D ...