我非常喜欢Stack Overflow评论用户界面,我正在考虑在自己的网站上实现相同的功能。我查看了代码,看起来这里的主要工具是WMD,JQuery TextArea Resizer扮演了支持角色。
WMD将Markdown转换为客户端的HTML。这非常好,因为它有助于预览,但在将其发送到服务器时遇到了挑战。如果存在验证错误(例如,用户在评论表单的其他部分输入了无效的电子邮件地址,或者他没有输入他的名字),则服务器通过重新显示表单并返回错误消息来响应表格字段预先填充。只是现在评论文本是HTML,而不是Markdown,因为服务器甚至从未看过Markdown。但我希望它是Markdown,因为那是用户输入的内容。
这里有什么想法吗?
我考虑过各种想法:
理想情况下,除了HTML之外,还有一些方法可以获得文本的Markdown版本并将其提交给服务器,但我还不足以知道这是否真的存在。< / p>
任何建议表示赞赏。
答案 0 :(得分:5)
请参阅此问题:Convert HTML back to Markdown for editing in wmd(yay右侧导航栏中的“相关”框!)。
答案 1 :(得分:5)
我会将数据作为markdown发送,然后让服务器在验证通过后将其转换为html。 WMD可以选择指定它将发送到服务器的数据格式。只需添加
wmd_options = {
//Markdown or HTML
output: "Markdown"
};
在致电wmd之前
答案 2 :(得分:3)
我只是粗略地看了一下WMD,但是将textarea提交给服务器看起来非常简单 - 实际上,如果textarea是你表单的一部分,我几乎看不出你怎么能避免它。据我了解,您的textarea包含标记,WMD将其转换为HTML以显示在页面的另一部分。只需在提交的表单中包含textarea,您就应该在服务器端看到它。