JQuery UI Dialog textarea

时间:2013-02-22 17:26:13

标签: javascript jquery textarea

我正在尝试将textarea放在JQuery UI对话框中。我想用一个值预填充此文本区域。如果我使用<textarea>,则对话框甚至不会打开。但是,如果我将其更改为<input type="text"&gt;然后我的对话框工作得很好。我不确定问题是与<textarea>本身有关还是存在价值。这是我的代码。问题是id为“change_dialog_msg”的textarea。即使只使用<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>

1 个答案:

答案 0 :(得分:2)

我没有执行整个代码,但我可以说它会在稍微改变之后起作用 -

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

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

感谢。