0

読み取り専用の入力ボックスでバックスペースを押すと jQuery ダイアログが閉じる理由を知っている人はいますか?

読み取り専用テキストボックスでスペースキーなどの他のキーが押された場合、他の問題もあります。したがって、私の仮定は、読み取り専用の入力ボックスと関係があるということです。

ユーザーが値を変更できないように、この入力を読み取り専用にする必要があります。コントローラーが無効なコントロールの値を受信できないため、無効にすることはできません。

私は ASP.NET MVC3 で作業しています。

助けてください。ありがとう

アップデート

ダイアログが開いているときにバックスペースを押すと、ダイアログが閉じます。違いは、[追加] ダイアログにあります。バックスペースを 2 回押す必要があります。編集の場合は、バックスペース キーを 1 回押すと閉じます。

これは、追加と編集の2つのリンクでダイアログを開く方法です

$('#add').click(function () {
            $('#popup-form-dialog').load('@Url.Action("Add", "Home")', function (html)
                    { $('#dialog').html(html); });
            $('#dialog').dialog('option', 'title', 'Add');
            $('#dialog').parent().css({ position: "fixed" }).end().dialog('open');
        });

        $('#edit a').live('click', function () {
            var id = $(this).attr('id');
            $('#dialog').load('@Url.Action("Edit","Home")/' + id, function (html)
                    { $('#dialog').html(html); });
            $('#dialog').dialog('option', 'title', 'Edit');
            $('#dialog').parent().css({position:"fixed"}).end().dialog('open');
            return false;
        });

$('#dialog').dialog({
            bgiframe: true,
            autoOpen: false,
            resizable: false,
            width: 500,
            modal: true,
            close: function () {
               //make changes to the parent page
            }

    });

アップデート

注意 - ダイアログのバックスペースは、実際にはブラウザのバックスペースを行っています。モーダルダイアログがあるのに、なぜそれが起こっているのだろうか? そして、これを止める方法は?何かご意見は?

4

1 に答える 1

0

次のオプションを試すことができます。

1.)追加して入力テキストボックスを無効にしますdisabled="true"

2.) 誰かが読み取り専用テキスト ボックス内でカーソルを移動しようとすると、カーソルを外側に移動します。

onfocus = "this.blur()"

3.)読み取り専用テキスト ボックスの代わりにラベルを使用します。

于 2012-10-12T14:16:37.667 に答える