1
回答
jquery.form插件 一点反应都没有,没找出来哪里的问题

今天闲着尝试了一下jQuery.form.js插件来进行异步的提交表单上传文件

jsp:

<form method="post" style="padding-left: 50px;padding-top: 25px" id="form2" enctype="multipart/form-data">
					选择Excel文件:<input type="file" name="files" id="files"/></p>
					<input type="button" value="上传" id="bt"/>
				</form>





点击上传按钮的js事件代码:

<script src="JS/jquery-1.8.0.js" type="text/javascript"></script>
<script src="JS/jquery.form.js" type="text/javascript"></script>
<script type="text/javascript">
				$(function(){
					$("#bt").click(function(){
						var options={
								url:"uploadServlet",	
								type:"post",
								dataType: null,  
								success:function(mes){
									alert(mes);
								}
							};
							$("#form2").submit(function() {
								 $(this).ajaxSubmit(options);
								 return false;
							 });
					});
				});
</script>




就是一个简单地上传文件的操作,上传的地址是一个servlet

在servlet中我使用cos上传方式

我在servlet中out.print出OK

servlet:

public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out=response.getWriter();
		String str="";
		try {
			String ExcelFile=this.getServletContext().getRealPath("ExcelFile")+"\\";
			new MultipartRequest(request, ExcelFile, 10*1024*1024, "utf-8", new DefaultFileRenamePolicy()) ;
			str="OK";
		} catch (Exception e) {
			e.printStackTrace();
			str="NO";
		}
		out.print(str);
		out.flush();
		out.close();
	}


但是我运行一下,没有任何反应。。。压根这后台的servlet都没进去

也不报错,什么反应都没有。。。我很纳闷。


举报
蜡笔小新_
发帖于4年前 1回/561阅
共有1个答案 最后回答: 4年前
//注册表单
	$("#member_register").dialog({
		autoOpen : false,
		modal : true,
		width : 320,
		height: 330,
		buttons : {
			'提交':function(){
				$(this).submit();
			}
		},
	}).validate({
		// ajax提交信息 
		submitHandler:function(form){
			$(form).ajaxSubmit({
				url : 'ajax.php?type=register',
				type : 'POST',
				beforeSubmit : function(formData, jqForm, options){
					$("#loading").dialog('open');
					$("#member_register").dialog('widget').find('button').eq(1).button('disable');
				},
				success : function(responseText, statusText){
					$("#member_register").dialog('widget').find('button').eq(1).button('enable');
					if(responseText){
						$("#loading").css('background', 'url(images/success.gif) no-repeat 10px center').html('注册成功!');
						setTimeout(function(){
							$("#loading").dialog('close');
							$("#member_register").dialog('close');
							$("#member_register").resetForm();
							$("#member_register span.star").removeClass('success').html('*');
						}, 1000);
					}
				},
			});
		},
		showErrors : function(errorMap, errorList){
			var errors = this.numberOfInvalids();
			if(errors > 0){
				$("#member_register").dialog('option', 'height', 25*errors + 330);
			}else{
				$("#member_register").dialog('option', 'height', 330);
			}
			this.defaultShowErrors();
		},
		// 错误后,边框颜色变红
		highlight : function(element, errorClass){
			$(element).css('border', '1px solid red').siblings('span').removeClass('success');
		},
		// 正确将将颜色调到默认状态
		unhighlight : function(element, errorClass){
			$(element).css('border', '1px solid #ccc').siblings('span').addClass('success').html('');
		},
		// 错误信息提醒
		errorLabelContainer : 'div.prompt_error',
		rules : {
			reg_username : {
				required : true,
				minlength : 3,
				maxlength : 10,
			},
			reg_password : {
				required : true,
				minlength : 6,
			},
			reg_email : {
				email : true
			},
			reg_birthday : {
				required : true,
			},
		},
		messages : {
			reg_username : {
				required : '姓名不能为空',
				minlength : '姓名长度不能小于2位',
				maxlength : '姓名长度不能大于10位',
			},
			reg_password : {
				required : '密码不能为空',
				minlength : '密码长度不能少于6位',
			},
			reg_email : {
				email : '请输入正确的电子邮箱!',
			},
			reg_birthday : {
				required : '请选择自己的出生日期',
			},
		},
	});



--- 共有 1 条评论 ---
蜡笔小新_我用不着验证,我就想知道,你看我写的哪里不对 4年前 回复
顶部