textarea文本保存到数据库,前端输出保存换行回车解决方案

处理这种文本输出格式的,使用富文本编辑器是比较方便的,但我这里写的不是使用富文本编辑器的处理方法!     

那么,从数据库取出text文本到前端展示格式一致的解决方案主要有两种(仅Web端,其他平台没有调试):

一:提交数据之前,将textarea的回车、空格先转换格式,再提交数据存入数据库,那样取出数据输出到web端也能保证格式一致。

//关键js代码
var text = $("textarea").text(); 
var des = text.replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>').replace(/\s/g, ' '); //转换格式
//将des文本内容存入数据库
//取出渲染视图即可 

 

二:当数据库存储的是原生的textarea文本,这时候,输出到前端前需要解析文本。

 

前提:textarea文本上传到后台时已经包含了换行回车符,如果你发现textarea上传时没有保存换行回车,可以尝试设置textarea标签属性wrap="hard"(html5支持)

 

        $(function() {
		init();
	});

	function init() {
		var text = $("div.text").text(); //先取出未转换格式前端数据
		var des = text.replace(/\r\n/g, '<br/>').replace(/\n/g, '<br/>').replace(/\s/g, ' ');  //转换格式
		$("div.text").empty(); 
		$("div.text").append(des);
	}

 

ps:建议使用$("div.text").empty(); $("div.text").append(des); 替换为转换格式后的前端文本,

       不要直接使用$("div.text").text(des); 替换文本;因为text方法会指定内容为text,那么<br/>标签会被直接输出而不会浏览器解析为换行!

  • 13
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
### 回答1: 要取消vant textarea回车换行功能,可以使用以下代码: ```html <van-field v-model="value" label="Label" type="textarea" :autosize="{ minRows: 3, maxRows: 5 }" :rows="3" :autosize="{ minRows: 3, maxRows: 5 }" @keydown.enter.prevent /> ``` 在上述代码中,@keydown.enter.prevent可以阻止回车键的默认行为,从而实现取消回车换行的效果。同时,使用van-field组件的textarea类型,可以让文本框自适应高度,并且通过设置rows属性,可以固定文本框的高度。 ### 回答2: 要取消 vanit textarea回车换行功能,可以通过以下几个步骤实现。 首先,在 vue 组件中找到使用 vanit textarea 的地方,可以是一个表单、一个评论框或其他需要输入文本的地方。 然后,在该组件的 HTML 代码中,找到 vanit textarea 的相关部分。通常会有一个<textarea>标签,内部可能会有其他属性或事件绑定。 接下来,在该<textarea>标签上添加一个新的属性:v-on:keydown.enter.prevent。这个属性的作用是,当用户按下回车键时,阻止默认的换行行为。 最后,保存并重新加载该组件,即可生效。此时,当用户在 vanit textarea 中按下回车键时,不会出现换行,而是继续编辑在同一行上。 如果使用的是其他的前端框架或开发工具,可以根据其语法和特性,进行相应的修改和调整。但思路是相似的,即通过阻止默认的回车行为,来实现取消 vanit textarea回车换行功能。 注意,以上方法仅适用于取消回车换行,若需实现其他特定的功能,可能需要更加复杂的操作。同时,也要确保这种修改不会影响到用户输入和其他正常的文本编辑操作。 ### 回答3: 在使用van-textarea组件时,取消回车换行的方法如下: 1. 在van-textarea标签内使用autofocus属性,这样用户按下回车键时,焦点不会自动跳转到下一行,而是保持在当前位置。 例如: <van-textarea v-model="textareaValue" :autosize="true" autofocus></van-textarea> 2. 使用自定义指令来取消回车键的默认行为,使其不换行。 首先,在Vue的指令部分,定义一个新的指令,例如noNewLine: Vue.directive('noNewLine', { inserted: function (el) { el.addEventListener("keydown", function(e) { if(e.keyCode === 13) { e.preventDefault(); } }); } }); 然后,在van-textarea标签内添加该指令: <van-textarea v-model="textareaValue" :autosize="true" v-noNewLine></van-textarea> 以上就是取消vant textarea回车换行的两种方法。在vue模板渲染中,我们可以根据实际需要选择其中一种方式来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值