关于表单用enctype=“multipart/form-data“后台用request.getParameter(““)为空的解决办法

关于表单用enctype=“multipart/form-data"后台用request.getParameter(”")为null的办法

问题描述

这个问题之前帮室友做项目的时候也遇到过,刚好这次做书城项目涉及到要传书的图片以及书本名等其他属性一起提交时遇到文件上传成功,但是表单提交的其他属性用request.getParameter("")取出来的值为null,找了很久其他的办法都模仿不来。于是便想到用下面的这个方法,由于自己水平有限是个小菜鸟,加上第一次写技术博客,麻烦各位大佬轻点喷,有其他的办法麻烦指点,谢谢!

遇到的问题:

<form class="form-horizontal" role="form" action="" method="post" 
	enctype="multipart/form-data" οnsubmit="return submitHandler()" id="form">
	<div class="form-group">
		<label for="firstname" class="col-sm-2 control-label">书本名</label>
		<div class="col-sm-10">
			<input type="text" class="form-control" id="bookname" name="bookname"
				   placeholder="请输入书本名" value="${param.bookname}">
		</div>
	</div>
	<div class="form-group">
		<label for="lastname" class="col-sm-2 control-label">书本价格</label>
		<div class="col-sm-10">
			<input type="text" class="form-control" id="b_price" name="b_price"
				   placeholder="请输入书本价格" value="${param.b_price}">
		</div>
	</div>
	<div class="form-group">
		<label for="lastname" class="col-sm-2 control-label">书本图片</label>
		<div class="col-sm-10">
			<input type="file" class="form-control" id="image"  name="image">
		</div>
	</div>
	<div class="form-group">
		<label for="lastname" class="col-sm-2 control-label">书本库存</label>
		<div class="col-sm-10">
		 	<input type="text" class="form-control" id="stock"  name="stock"
				   placeholder="请输入书本库存" value="${param.stock}">
		</div>
	</div>
	<div class="form-group">
		<div class="col-sm-offset-2 col-sm-10">
			<button type="submit" class="btn btn-default">修改</button>
		</div>
	</div>
</form>

在这里插入图片描述在这里插入图片描述

结果:在这里插入图片描述


解决方案:

用js

<form class="form-horizontal" role="form" action="" method="post" 
	enctype="multipart/form-data" onsubmit="return submitHandler()" id="form">
<script>
 //点击登录执行的逻辑
function submitHandler() {
	var bookname = document.getElementById("bookname").value;
	var b_price = document.getElementById("b_price").value;
	var stock = document.getElementById("stock").value;
    var action = null;
    action = "${pageContext.request.contextPath }/adminModifyBooks?action=modify&&bookname="+bookname+"&&b_price="+b_price+"&&stock="+stock;   
    document.getElementById("form").action = action;
    return true;
}
</script>
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值