0

uploadifyMVC3 アプリケーションでファイルアップロード コントロールを使用しています。

jQuery ダイアログの非常に奇妙な動作を見ました。

flash Browseビューでボタンを使用しています。ボタンをクリックすると、選択したファイルを参照してアップロードするすべてのディレクトリが表示され、アップロードされます。

最初は、jQueryダイアログボックスなしで試しました。それは完璧に機能し、ファイルをアップロードし、すべてのブラウザでファイルをキャンセルできます.

jQueryダイアログボックスでコンテナを使用してレンダリングすると、BrowseボタンFirefoxが表示されますが、ボタンをクリックできず、IEとChromeで機能しますが、Chromeでアップロードをキャンセルできません。

これが私のコードです:

私の見解でのHTMLコード:

<input type="button" id="btnImg"/>
    <div id="fileupload">
        <div style="clear: none;">
            File to Upload:
            <input type="file" name="file_upload" id="file_upload" style="padding-left: 50px;"/><hr />
        </div>
        <p style="text-align: right;">
            <input type="submit" id="selectimage" value="Ok" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"/>
            <input type="submit" id="cancelimage" value="Cancel" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" onclick="cancelupload();" />
        </p>
    </div>

Javascript コード :

$("#btnImg").click(function () {
    $("#fileupload").dialog({
        width: '511',
        height: '200',
        show: "blind",
        position: [300, 500]
    });
});

をクリックするbtnImgと、ポップアップが表示されます。

これを修正する方法は?どうしてそうなった ?

4

2 に答える 2

0

ほとんどの場合、live() 関数を使用してクリック ハンドラーをボタンにバインドするか、ダイアログ ボックスを作成する div で dialog() を呼び出した後にクリック ハンドラーをバインドする必要があります。

また、「btnImg」を ID として使用していますが、上記の HTML にはそれを ID として使用しているものは見当たりません。これはタイプミスですか、それとも表示されていないだけですか

于 2012-12-17T14:12:20.893 に答える
0

問題を解決できました。

これがその解決策です。

$("#btnImg").click(function () {
            $("#fileupload").css("visibility", "visible");
            $("#fileupload").dialog({
                width: '511',
                height: '200',
                modal:true,
                //show: "blind",
                position: [300, 500],
                open: function (type, data) {
                    $(this).parent().appendTo("form");
                }
            });
        });

問題は、私の div がformタグ内にないことです。そのため、フォーム タグ内にネストされていない場合、jQuery はウィンドウのアップロードを無視します。

于 2012-12-18T09:18:01.613 に答える