我有一个页面,允许用户在我们的应用程序中发送电子邮件。我正在努力实施一个"保存草案"捕获“收件人”,“抄送”,“主题”和“正文”字段中的内容的功能。所有字段都是ASP.Net文本框,但Body字段已应用TinyMCE。我使用这个javascript来获取计时器上ASP.Net文本框的内容(这里设置为5秒)。
这发生在具有母版页的ASP.Net Web表单中,但这不是问题。
除了带有TinyMCE编辑控件的Body之外,这适用于所有字段。这一行:
正文:$("#<%= txBody.ClientID%>")。val()
返回""
在应用TinyMCE时如何访问值/ innerText / innerHTML的任何想法?
<asp:Content ID="Content2" runat="server" contentplaceholderid="head">
<script type="text/javascript" src="//tinymce.cachefly.net/4.1/tinymce.min.js"></script>
<script type="text/javascript" src="//code.jquery.com/jquery-1.4.1.min.js"></script>
<script type="text/javascript">
tinymce.init({
selector: '#ctl00_ContentPlaceHolder1_txBody',
menubar: false,
toolbar: "bold italic forecolor",
statusbar: false
});
</script>
<script type="text/javascript">
function pageLoad(sender, args) {
$(document).ready(function () {
window.setInterval(saveDraft, 5000);
});
function saveDraft() {
$.ajax({
type: "POST",
url: "SaveDraft.aspx",
data: ({
tofield: $("#<%=txTo.ClientID%>").val(),
ccfield: $("#<%=txCC.ClientID%>").val(),
subject: $("#<%=txSubject.ClientID%>").val(),
body: $("#<%=txBody.ClientID%>").val()
}),
success: function (response) {
var label = document.getElementById("<%=lbMsg.ClientID%>");
label.innerText = 'saving draft...';
setTimeout(function () {
label.innerText = '';
}, 3000);
}
});
}
}
</script>
</asp:Content>