0

私のプログラムはファイルをアップロードすることであり、[アップロード] をクリックすると、サーブレットが呼び出されます。同じアップロードページには、アップロードボタンのみをクリックしたときに表示される他のフィールドがいくつか含まれています。サーブレットを呼び出す方法と残りのコンテンツを表示する方法。実際にサーブレットを使用して、同じページにファイルの内容を表示したい。

これが私のコードです。

<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" style="display:none;">

<!--
  hidden contents are here -->

</div>

そして私のスクリプトは

function validateFile(form) {
        var fileName = form.file.value;
        if (!fileName) {
            alert("No File Selected!!!");
            return false;
        }
        else
        {
            $("#showFrames").show();
        }
    }

しかし、うまくいきません。誰でも私を助けることができますか?ありがとう

4

2 に答える 2

0
Replace your as per below
  <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>
于 2013-03-08T11:34:57.910 に答える
0

jQueryを使用すると、次のようになります。

$('.form-horizontal').sumbit(function(e) {
    if($(this).find('input[type="file"]').val().length) { //check by length
        $("#showFrames").show();
    } else {
        alert('No file Selected');
        e.preventDefault();
    }
});

複数のフォームが必要な場合は、フォーム ID を使用することをお勧めします。

onsubmitこのようにして、属性を削除できます。

于 2013-03-08T11:28:12.257 に答える