如题,用的SSH框架,然后进入主页以后,进行登录,在进行信息修改,然后在修改的时候随便触发一个方法,页面就会提交到后台的action,我还没submit呢,这是为什么啊,就随便点击一个按钮,然后按钮里面只有一个alert,alert完以后还是会提交,这是怎么回事,是因为访问的是action么?怎么改正?
你在控制台上断点调试下,看程序走的步骤。所有的问题不是无缘无故就出现的,肯定有原因。
没有相关代码!
1.先debug看看;
2.你那个相当于每次修改都会发出一次请求,或许你可以考虑使用 Ajax 。
<s:form id="studentInfoForm" action="uploadStudentInfo" enctype="multipart/form-data" theme="simple" method="post">
<div class="personal_center_con" style="margin-top: 50px;">
<div class="personal_center_images">
<div class="personal_center_img">
<canvas id="cvs" width="355" height="406"></canvas>
<span class="btn upload">上传头像<input type="file" name="headImg" class="upload_pic" id="upload"></span>
</div>
</div>
<div class="personal_center_info">
<ul>
<li><p>姓名:</p><input type="text" name="name" id="name" value="${session.user.UName}" placeholder="请输入姓名" readonly="readonly"></li>
</ul>
<p>性别:<input type="radio" name="sex" value="1" checked="checked" />男
<input type="radio" name="sex" value="2" />女</p>
<ul>
<li><p>学校:</p><input type="text" name="school" id="school" value="${session.studentInfo.studentSchool}" placeholder="请输入学校"></li>
<li><p>特长:</p><input type="text" name="specialty" id="specialty" value="${session.studentInfo.studentSpecialty}" placeholder="请输入特长"></li>
</ul>
<p>期待职位:<button id="job" name="job" onclick="selectJob()">选择职位</button></p>
<ul>
<li><p>专业:</p><input type="text" name="major" id="major" value="${session.studentInfo.studentMajor}" placeholder="请输入专业"></li>
<li><p>身高(cm):</p><input type="text" name="height" id="height" value="${session.studentInfo.studentHeight}" placeholder="请输入身高"></li>
<li><p>体重(Kg):</p><input type="text" name="weight" id="weight" value="${session.studentInfo.studentWeight}" placeholder="请输入体重"></li>
<li><p>联系电话:</p><input type="text" name="phone" id="phone" value="${session.studentInfo.studentPhone}" placeholder="请输入电话"></li>
<li><p>QQ:</p><input type="text" name="qq" id="qq" value="${session.studentInfo.studentQq}" placeholder="请输入QQ"></li>
</ul>
</div>
<div class="clear"></div>
<div class="personal_center_abstract">
<p style="margin-top: 4px;">个人简介:</p>
<textarea maxlength="450" name="introduce" style="margin-top: 4px;" value="${session.studentInfo.studentIntroduce}" placeholder="限制字数450字"></textarea>
<p>是否委托:</p>
<input type="radio" name="entrust" value="1" checked="checked"/>委托(委托给网站负责人找齐所需的兼职人员)
<input type="radio" name="entrust" value="1" />否(商家自己进行邀约)
</div>
<div class="personal_center_submit">
<input type="submit" value="提交信息">
</div>
<div class="foot">
<img src="<%=basePath%>img/dibu.jpg" />
</div>
</div>
</s:form>
public String updateStudentInfo(){
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
ISysStudentUserInfoSV sysStudentUserInfoSV = (ISysStudentUserInfoSV)context.getBean("sysStudentUserInfoSV");
String fileName = null;
try {
if(headImg != null){
//保存头像到upload/user
//获取保存路径的绝对地址
String filePath = ServletActionContext.getServletContext().getRealPath("upload/user");
//生成带格式的随机文件名称
fileName = UUID.randomUUID().toString()+headImgFileName.substring(headImgFileName.lastIndexOf("."));
//复制文件
FileUtils.copyFile(headImg, new File(filePath,fileName));
//2、设置用户头像路径
//user.setHeadImg("user/"+fileName);
}
} catch (Exception e) {
e.printStackTrace();
}
String result = "error";
try {
HttpServletRequest request = ServletActionContext.getRequest();
HttpSession session = request.getSession();
YSysUserinfo userInfo = (YSysUserinfo) session.getAttribute("user");
sysStudentUserInfoSV.saveStudentInfo((int)userInfo.getUId(), name, Integer.valueOf(sex), "user/"+fileName, school, major, specialty, Integer.valueOf(height), Integer.valueOf(weight), phone, qq, introduce,Integer.valueOf(entrust));
SysStudentUserInfo studentInfo = sysStudentUserInfoSV.selectStudentInfoByYsuId((long)userInfo.getUId());
session.setAttribute("studentInfo", studentInfo);
result = "success";
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("user/"+fileName);
return result;
}
form表单的type=“submit”是一种提交,js中的Ajax也可以提交;没看到你的js代码,你这个form表单看起来没什么问题
你这是submit 能不提交么 你把submit改成 button就好了 不过改成button之后 提交就需要你使用js提交了