我正在尝试在JSP表单中提交包含文本字段,文本区域,文件字段等的表单。我正在为此表格使用Commons文件上传。
这是我的JSP表格:
<form name="add_product_form" id="add_product_form" enctype="multipart/form-data" method="post" action="Product.Add"> <div id="form-body"> <div id="lebel"> <font color="red">*</font>Product Name: </div> <div id="field"> <input type="text" name="product_name" id="product_name" value=""> </div> <div id="lebel"> <font color="red">*</font>SKU No: </div> <div id="field"> <input type="text" name="sku_no" id="sku_no" value=""> </div> <div id="lebel"> <font color="red"> </font>In Date: </div> <div id="field"> <input type="text" name="in_date" id="in_date" value=""> </div> <div id="lebel"> <font color="red"> </font>Upload Image: </div> <div id="field"> <input type="file" name="upload_image" id="upload_image" value=""> </div> <div id="lebel"> <font color="red"> </font>Description: </div> <div id="field"> <textarea name="description" id="description"></textarea> </div> <div id="lebel"> </div> <div id="button_field"> <input type="submit" name="add_product_button" id="add_product_button" value="Add Product"> </div> </div> </form>
我正在使用以下方法获取文本字段的值。
List fileItems = upload.parseRequest(request); // Process the uploaded file items Iterator i = fileItems.iterator(); while ( i.hasNext () ) { FileItem fi = (FileItem)i.next(); if ( !fi.isFormField () ) { // Get the uploaded file parameters String fieldName = fi.getFieldName(); String value = fi.getString(); fileName = fi.getName(); String contentType = fi.getContentType(); boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); // Write the file if( fileName.lastIndexOf("\\") >= 0 ) { file = new File( filePath + fileName.substring( fileName.lastIndexOf("\\"))) ; } else { file = new File( filePath + fileName.substring(fileName.lastIndexOf("\\")+1)) ; } fi.write( file ) ; } else { String name = fi.getFieldName(); String value = fi.getString(); if( name.equals("product_name") ) { productName = value; } else if( name.equals("sku_no") ) { skuNo = value; } else if( name.equals("in_date") ) { newDateString = value; } else if( name.equals("description") ) { productDesc = value; } } }
但是我没有得到我在表单中使用的名称为“ descripton”的“ TextArea”的值。
提交表单时,任何人都可以帮助我获取此文本区域的价值。
谢谢
找不到直接的解决方案。
为了实现这一点,我使用了一个隐藏字段和jquery。
在单击“提交”按钮时,我将隐藏字段中的文本区域的值设为smet,然后提交表单。
这是jQuery代码:
$('#add_product_button').click(function() { var description = $("#description").val(); $("#hidden_description").val(description); $("add_product_form").submit(); });