0

我创建了一个jsp(upload.jsp)页面来上传文件。当我单击提交时,它将调用 servlet 并读取文件内容。另一个 jsp 页面(比如 filecontent.jsp)用于显示内容。我<iframe>在upload.jsp 中使用插入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>

但它不起作用。当我点击上传时,它不显示框架。错误是什么,我该怎么办?

4

2 回答 2

0

It seems you are using a jQuery selector? Is jQuery loaded?

If your class .hidden { display: none; } contains you can use VanillaJS like this:

function validateFile( form )
{
    var fileName = form.file.value;

    if (!fileName)
    {
        alert("No File Selected!!!");
        return false;
    }
    else
    {
        document.getElementById( "showFrames" ).style.display = "block";
    }
}
于 2013-03-13T12:20:23.100 回答
0

如果要在 iframe 中显示Registration请求的响应,则必须将该 iframe 设置为表单的目标:

<form target="myframe" ...><iframe src="filecontent.jsp" name="myframe ...>

于 2013-03-13T12:18:15.330 回答