1

JQuery UI ダイアログ ボックス内にテキストエリアを配置しようとしています。このテキスト領域に値を事前入力したいと考えています。ダイアログボックスを使用<textarea>しても開きません。ただし、それを<input type="text"> に変更すると、ダイアログ ボックスは正常に機能します。<textarea>問題がそれ自体にあるのか、値を入れることにあるのかはわかりません。これが私のコードです。問題は、ID「change_dialog_msg」のテキストエリアです。still を使用しただけでも<textarea></textarea>、ダイアログ ボックスが開かなくなります。
ダイアログ ボックスは、次のコードを使用してテーブルから開かれています (まったく同じコードがアプリケーションの別のページで機能するため、問題はないと思います)。

<td><a href="#" onclick="OpenDialog(<bean:write name='cel' property='id' scope="page"/>);return false;">View/Modify</a>

<div id="change_dialog" title="Change Email Message" style="display: none; font-size: 12px; text-align: center;">
            <div style="text-align: left;">
                <br>
                Change the expiration email message for Course ID: "<span id="change_dialog_courseName"></span>".
                <br>
                <font color="red">Please enter %fn for first name, %ln for last name, %dt for expiration date, %gn for group, %cn for curriculum, and %sn for stage number.</font>
                <br><br>
                <textarea rows="5" cols="50" id="change_dialog_msg"/>
                <br><br>
            </div>
            <button id="change" onclick="ChangeBtn();return false;">Submit</button>
            &nbsp;&nbsp;
            <button id="delete" onclick="DeleteBtn();return false;">Delete</button>
            &nbsp;&nbsp;
            <button id="cancel" onclick="CancelBtn();return false;">Cancel</button>
            <br><br>
        </div>
        <script type="text/javascript">
            var currId = -1;
            $("#change_dialog").dialog({
                autoOpen: false,
                width: "auto",
                modal: true,
                resizable: false
            });//.siblings('div.ui-dialog-titlebar').remove();
            function OpenDialog(id){
                currId = id;
                $("#change_dialog_courseName").text(courseIDs[id]);
                $("#change_dialog_msg").val(emailMSG[id]);
                $("#change_dialog").dialog("open");
            }
            function ChangeBtn(){
                if(/\S/.test($("#change_dialog_msg").val())){
                    $("#newEmailMSG").val($("#change_dialog_msg").val());
                    $("#id").val(currId);
                    $("#submitOpt").val("Change");
                    $("#emailSettings").submit();
                } else {
                    alert("You must enter a message when pressing submit.");
                }                
            }
            function CancelBtn(){
                currId = -1;
                $("#change_dialog_msg").val("");
                $("#change_dialog").dialog("close");
            }
            function DeleteBtn(){
                if($("#change_dialog_msg").val()==""){
                    $("#change_dialog").dialog("close");
                } else {
                    $("#id").val(currId);
                    $("#submitOpt").val("Delete");
                    $("#emailSettings").submit();
                }
            }
        </script>
4

1 に答える 1

2

コード全体を実行したわけではありませんが、少し変更すると機能すると言えます-

<textarea rows="5" cols="50" id="change_dialog_msg"/>

<textarea rows="5" cols="50" id="change_dialog_msg"></textarea>

ありがとう。

于 2013-02-22T17:50:10.943 に答える