我发现一个奇怪的问题:

jgongcheng 2015-02-04 04:05:23
点击button以后,表单先由ajax提交,然后无论后台返回什么结果,页面都会跳转到表单action属性指定的路劲,
也就是login.html
使用的是html、jquery、javascript,后台是spring mvc 代码如下:

html表单:

<form action="login.html" method="post" id="loginForm">
<input type="text" id="username" name="userName" />
<input type="password" id="password" name="password" />
<button class="btn btn-warning btn-loginsize" onClick="submitForm()">
登陆
</button>
<a href="#">忘记密码?</a>
<a href="#">注册</a>
</form>


jquery、javascript代码:

<script>
function submitForm() {
$.ajax({
cache: true,
type:"POST",
url: "verification.json",
dataType:"json",
data:$("#loginForm").serializeArray(),
async: false,
success:function(data){
if(data.flag == "1") { //登陆成功
alert("aa"); //这里返回正确
location.href="index.html";//这里没有作用,什么原因?
}else{ //登陆失败
alert("warnings");
}
},
error:function(data){
alert("error");
}
});
}
</script>



后台代码

@RequestMapping("/verification.json")
@ResponseBody
public Map<String, Object> verification(User user) {
Map<String, Object> map = new HashMap<String, Object>();

if (user.getUserName().equals("admin") && user.getPassword().equals("admin")) {
map.put("flag", "1");
} else {
map.put("flag", "0");
}
return map;
}
...全文
11059 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jgongcheng 2015-02-04
  • 打赏
  • 举报
回复
引用 3 楼 slwsss 的回复:
<form action="login.html" method="post" id="loginForm" onsubmit="return false"> <button type="button" class="btn btn-warning btn-loginsize" onClick="submitForm()">
这样也可以 谢谢
u010007095 2015-02-04
  • 打赏
  • 举报
回复
引用 1 楼 slwsss 的回复:
button请始终为按钮规定 type 属性。Internet Explorer 的默认类型是 "button",而其他浏览器中(包括 W3C 规范)的默认值是 "submit"。
受教了 以前都不知道
u010007095 2015-02-04
  • 打赏
  • 举报
回复
<input type="button" class="btn btn-warning btn-loginsize" onClick="submitForm()"/>
jgongcheng 2015-02-04
  • 打赏
  • 举报
回复
好吧 根据楼上说的 我懂了 .. 在 submitForm()函数的最后加上 return false; 在HTML事件中 onClick="return submitForm()"
slwsss 2015-02-04
  • 打赏
  • 举报
回复
<form action="login.html" method="post" id="loginForm" onsubmit="return false"> <button type="button" class="btn btn-warning btn-loginsize" onClick="submitForm()">
jgongcheng 2015-02-04
  • 打赏
  • 举报
回复
引用 1 楼 slwsss 的回复:
button请始终为按钮规定 type 属性。Internet Explorer 的默认类型是 "button",而其他浏览器中(包括 W3C 规范)的默认值是 "submit"。
那么怎样才能让button不提交表单 而是交给ajax提交和跳转呢?
slwsss 2015-02-04
  • 打赏
  • 举报
回复
button请始终为按钮规定 type 属性。Internet Explorer 的默认类型是 "button",而其他浏览器中(包括 W3C 规范)的默认值是 "submit"。
什么是SWFUpload?   SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而超越传统标签的文件上传模式。 [编辑本段]SWFUpload的主要特点   * 可以同时上传多个文件;   * 类似AJAX的无刷新上传;   * 可以显示上传进度;   * 良好的浏览器兼容性;   * 兼容其他JavaScript库 (例如:jQuery, Prototype等);   * 支持Flash 8和Flash 9;   SWFUpload不同于其他基于Flash构建的上传工具,它有着优雅的代码设计,开发者可以利用XHTML、CSS和JavaScript来随心所欲的定制它在浏览器下的外观;它还提供了一组简明的JavaScript事件,借助它们开发者可以方便的在文件上传过程中更新页面内容来营造各种动态效果。   在使用SWFUpload之前,请确认你具备一定的JavaScript和DOM知识。在实际开发中,大部分的错误都是由于错误的设置和低劣的Event Handlers处理程序所造成的。 [编辑本段]文档中文翻译   http://www.v-sky.com/doc/swfupload/v2.1.0/Documentation.html [编辑本段]效果演示   * Classic Form Demo http://demo.swfupload.org/formsdemo ;   * Features Demo http://demo.swfupload.org/featuresdemo ;   * Application Demo http://demo.swfupload.org/applicationdemo ;   * v1.0.2 Plugin Demo http://demo.swfupload.org/v102demo ; [编辑本段]选择合适的Flash控件   在发行包(SWFUpload v2)中含有2个版本的Flash控件(swfupload_f8.swf 与wfupload_f9.swf),其中第一个版本拥有最佳的兼容性,但是为此损失了部分功能;而第二个版本提供了一些附加的功能但是损失了兼容性。 [编辑本段]SWFUpload的初始化与配置   首先,在页面中引用SWFUpload.js ,如      然后,初始化SWFUpload ,如   var swfu;   window.onload = function () {   swfu = new SWFUpload({   upload_url : "http://www.swfupload.org/upload.php",   flash_url : "http://www.swfupload.org/swfupload_f9.swf", file_size_limit : "20480"   });   };   以下是一个标准的SWFUpload初始化设置所需的参数,你可以根据需要自己进行删减:   {   upload_url : "http://www.swfupload.org/upload.php", 处理上传请求的服务器端脚本URL   file_post_name : "Filedata", 是POST过去的$_FILES的数组名   post_params : {   "post_param_name_1" : "post_param_value_1",   "post_param_name_2" : "post_param_value_2",   "post_param_name_n" : "post_param_value_n"   },   file_types : "*.jpg;*.gif", 允许上传的文件类型   file_types_description: "Web Image Files", 文件类型描述   file_size_limit : "1024", 上传文件体积上限,单位MB   file_upload_limit : 10, 限定用户一次性最多上传多少个文件,在上传过程中,该数字累加,如果设置为“0”,则表示没有限制   file_queue_limit : 2, 上传队列数量限制,该项通常不需设置,根据file_upload_limit自动赋值   fl

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧