首页编程textarea换行 如何处理textarea换行

textarea换行 如何处理textarea换行

编程之家2023-11-03108次浏览

各位朋友,你是否对textarea换行和如何处理textarea换行的相关问题感到好奇?别担心,我将为你揭示这些问题的答案,帮助你更好地理解和应用这些知识。让我们一起探索吧!

textarea换行 如何处理textarea换行

如何处理textarea换行

方法1:在textarea中增加属性wrap="hard"

方法2:设置 wrap="virtual",文本区会包含两行文本,并在单词"makes"后面换行。但是只有一行文本被传送到服务器:没有嵌入新行字符。

方法3:设置 wrap="physical",文本区会包含两行文本,并在单词"makes"后面换行,这时发送给服务器两行文本,单词"makes"后的新行字符将分隔这两行文本。

方法1测试过是可以的,方法2和方法3还未测试

附:

wrap属性定义输入内容大于文本域时显示的方式,可选值如下:

textarea换行 如何处理textarea换行

默认值是文本自动换行;当输入内容超过文本域的右边界时会自动转到下一行,而数据在被提交处理时自动换行的地方不会有换行符出现;

Off,用来避免文本换行,当输入的内容超过文本域右边界时,文本将向左滚动,必须用Return才能将插入点移到下一行;

Virtual,允许文本自动换行。当输入内容超过文本域的右边界时会自动转到下一行,而数据在被提交处理时自动换行的地方不会有换行符出现;

Physical,让文本换行,当数据被提交处理时换行符也将被一起提交处理。

textarea 如何控制自动换行

import javax.swing.*;

import java.awt.*;

textarea换行 如何处理textarea换行

import java.awt.event.MouseListener;

import java.awt.Event.*;

/**

*

*@author zy

*/

public class Main extends JFrame//implements MouseListener

{

static JTextField txt1= new JTextField();

static JTextField txt2= new JTextField();

static JButton but1= new JButton("开始执行");

static JButton but2= new JButton("开始执行");

static JLabel la1= new JLabel("输入回收的块号");

static JLabel la2= new JLabel("盘块分配演示");

static JLabel la3= new JLabel("输入分配所需的块数");

static JLabel la4= new JLabel("盘块回收演示");

static JLabel la5= new JLabel("盘块未进行分配,回收前的使用情况");

static JLabel la6= new JLabel("盘块执行操作后的情况");

static JTable ta1= new JTable(8, 6);

static JTable ta2= new JTable(16, 16);

static JLabel la8= new JLabel("盘块执行操作后的情况");

static TextArea te1=new TextArea("Hello", 4, 4,TextArea.SCROLLBARS_NONE);

static JFrame frm=new JFrame("位示图演示程序");

public static void main(String arg[])

{

frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frm.setBounds(0, 0, 300, 600);

frm.setVisible(true);

frm.setLayout(null);

frm.add(txt1);

frm.add(txt2);

frm.add(but1);

frm.add(but2);

frm.add(la1);

frm.add(la2);

frm.add(la3);

frm.add(la4);

frm.add(la5);

frm.add(la6);

frm.add(ta1);

frm.add(ta2);

frm.add(te1);

la2.setBounds(5, 5, 120, 20);

la3.setBounds(5, 20, 150, 20);

txt1.setBounds(5, 40, 40, 30);

but1.setBounds(50,40,100,30);

la4.setBounds(5,80,150,20);

la1.setBounds(5, 100, 150, 20);

txt2.setBounds(5, 125, 40, 30);

but2.setBounds(50, 125, 100, 30);

/*有疑问的一句话如果删除下面的一句话,那么其他的组件都能正常显示。否则TextArea的tel类将充满整个frame,其他的组件无法正常显示?为什么?有什么解决的办法?*/

te1.setBounds(10, 200, 50, 50);

}

}

将frm的布局设置为null就不会了.最后的一句不要删.否则为默认的布局将会把窗口填充满的.

如何在textarea文本输入区内实现换行

通常情况下,当用户在输入文本区域中键入文本后,浏览器会将它们按照键入时的状态发送给服务器。只有用户按下 Enter键的地方生成换行。

如果您希望启动自动换行功能(word wrapping),请将 wrap属性设置为 virtual或 physical。当用户键入的一行文本长于文本区的宽度时,浏览器会自动将多余的文字挪到下一行,在文字中最近的那一点换行。

wrap="virtual"将实现文本区内的自动换行,以改善对用户的显示,但在传输给服务器时,文本只在用户按下 Enter键的地方进行换行,其他地方没有换行的效果。

wrap="physical"将实现文本区内的自动换行,并以这种形式传送给服务器,就像用户真的那样键入的。因为文本要以用户在文本区内看到的效果传输给服务器,因为使用自动换行是非常有用的方法。

如果把 wrap设置为 off,将得到默认的动作。

希望对你有点帮助。

textarea:进行文本换行

textarea内的换行便是以换行符的形式实现,换行符也能用于textarea

当我们尝试将\n用于一般div

eg: document.querySelector(".a").innerHTML="12\n1";

显示:

未显示换行,这是因为在默认情况下空白会被忽略,所以无论是文本里的空白、换行都会被当做一个空格处理,

若想显示空白,需添加属性white-space: pre;保留换行和空白或者pre-line保留换行,忽略空白

增添white-space: pre;显示:

这时候获取innerHTML,输出: 12 1,

/\n/.test(document.querySelector(".a").innerHTML)// true,

eg: document.querySelector(".a").innerHTML="1 2\n1";

显示:

通过审查元素,可以发现可编辑div自带white-space: pre;属性!因此文本空白和换行符都对它有效

而可编辑div内直接进行换行操作,换行又是如何实现的?

进行换行:

再输出innerHTML

1 2 1<div>11</div><div>111</div>

因此:对于可编辑div,换行符有效,但它本身的换行是通过div来实现的,这不同于textarea!

一般pre

对于一般pre,文本空格与换行符都有效,也自带white-space: pre;属性。

可编辑pre

类似于可编辑div,换行符有效,本身的换行通过增添div实现。

文章到此结束,希望我们对于textarea换行和如何处理textarea换行的问题能够给您带来一些启发和解决方案。如果您需要更多信息或者有其他问题,请随时联系我们。

jbpm工作流,如何以编程方式部署jBPM工作流百度优化软件?百度360关键词排名怎么优化软件