我创建了一个jsp(upload.jsp)页面来上传文件。当我单击提交时,它将调用servlet并读取文件内容。另一个jsp页面(Say filecontent.jsp)用于显示内容。我在upload.jsp中使用<iframe>
来插入filecontent.jsp。它是隐藏的。我真正想要的是当我点击上传时,它应该调用servlet,然后在同一页面显示iframe,这样我就可以显示文件内容。
这是我的jsp页面。
<form class="form-horizontal" name="regist" action="Registration" onsubmit="return validateFile(this)" enctype="multipart/form-data"
method="post">
<div class="control-group" class="span12">
<label class="control-label" for="file">Please upload a
file:</label>
<div class="controls">
<input type="file" name="file"/>
</div>
</div>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn btn-primary">Upload</button>
</div>
</div>
</form>
</div>
<div id="showFrames" class="hidden">
<iframe src="filecontent.jsp" width="700" height="800"></iframe>
</div>
这是我的剧本。
<script>
function validateFile(form) {
var fileName = form.file.value;
if (!fileName) {
alert("No File Selected!!!");
return false;
}
else
{
$("#showFrames").show();
}
}
</script>
但它不起作用。当我点击上传时,它不显示框架。 错误是什么,我该怎么办?
答案 0 :(得分:0)
如果您想在iframe中显示Registration
请求的响应,您必须将该iframe设置为表单的目标:
<form target="myframe" ...>
和<iframe src="filecontent.jsp" name="myframe ...>
答案 1 :(得分:0)
看来你正在使用jQuery选择器?是否加载了jQuery?
如果你的班级.hidden {display:none;你可以像这样使用VanillaJS:
function validateFile( form )
{
var fileName = form.file.value;
if (!fileName)
{
alert("No File Selected!!!");
return false;
}
else
{
document.getElementById( "showFrames" ).style.display = "block";
}
}