2013-02-22 70 views
1

我想把一個textarea放在JQuery UI對話框中。我想用一個值預填充該文本區域。如果我使用<textarea>,對話框甚至不會打開。但是,如果我將其更改爲<input type="text">,那麼我的對話框工作得很好。我不確定問題是出在<textarea>本身還是投入價值。這是我的代碼。問題是ID爲「change_dialog_msg」的textarea。即使只使用<textarea></textarea>仍會導致對話框無法打開。
使用下面的代碼從一個表中打開對話框(在我的應用程序中完全相同的代碼在另一個頁面上工作,所以我不認爲這是問題所在)。JQuery UI對話框文本區

<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> 

回答

3

我還沒有執行整個代碼,但我可以說,這一點改變後會工作 -

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

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

感謝。

+0

非常感謝。這解決了這個問題。 – Evilsithgirl 2013-02-22 18:00:06