我正在尝试在 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>
<button id="delete" onclick="DeleteBtn();return false;">Delete</button>
<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>