1

我正在尝试在 JQuery UI 对话框中放置一个文本区域。我想用一个值预填充这个文本区域。如果我使用<textarea>该对话框甚至不打开。但是,如果我将其更改为<input type="text">,那么我的对话框就可以正常工作。我不确定问题是出在<textarea>本身还是在价值上。这是我的代码。问题是 ID 为“change_dialog_msg”的文本区域。即使只是使用<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 回答