当我点击提交和同时调用servlet时,如何显示我隐藏的div字段

时间:2013-03-13 12:04:20

标签: javascript jsp servlets

我创建了一个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>

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

2 个答案:

答案 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";
    }
}