【问题标题】:Form add new line on enter, set up for sql表单在输入时添加新行,为 sql 设置
【发布时间】:2013-01-28 23:10:24
【问题描述】:

有很多关于这个主题的小信息,也许我只是没有找对地方。但我想把它们放在一个地方。从头到尾。

我正在尝试制作一个非常类似于我现在在堆栈溢出时使用的表单。有一个textarea,当有人敲回车时,它并没有提交表单,而是添加了一个新行。但它不会在实际文本框中显示\n<br \>

然后需要将具有所有结构完整性的文本输入数据库并检索到 xhtml 页面。

我听说过使用 javascript。我听说过nl2br 函数。它们似乎都是拼图的一部分,但我找不到大局。

有没有人有一个从头到尾的示例脚本,他们将如何完成这个?

非常感谢您的帮助!我希望其他有困难的人也可以使用它。

【问题讨论】:

    标签: php javascript sql forms newline


    【解决方案1】:

    您需要创建一个常规的<textarea>,并将其原始文本保存到数据库中。 (确保使用参数防止SQL注入)

    然后,当您要显示文本时,请使用<pre>nl2br() 确保换行符由浏览器显示。

    【讨论】:

    • 但是如果数据库端没有一些指示符,php如何知道在哪里放置换行符
    • 但是有一个“指标”\n 你看不到它,但它会在那里。除非你在他们进入数据库之前做了一些疯狂的事情,比如剥掉他们
    • 哦....这回答了很多问题!现在你知道如何让输入不提交表单了吗?因为在我弄清楚那部分之前我无法测试它。我想输入插入\n。但无论我是按 Enter 还是 shift enter。表单已提交。
    • 你最好的办法是让 enter 在文本区域做它的事情 - 不要提交论坛,而是为(keyCode == 13 and shiftKey == true) 添加一个事件监听器到 textarea 让 enter 做一些除了插入换行符之外的事情(可能是 \n 或 \r\n 取决于操作系统)是一个坏主意,因为它违背了人们所期望的行为。如果您确实想输入提交,请添加与之前相同的事件侦听器(除了没有shiftKey 作为等式的一部分),并调用form.submit(),其中form 是引用您的HTML 表单元素的javascript 变量。
    猜你喜欢
    • 2017-06-06
    • 1970-01-01
    • 2018-01-20
    • 2017-09-25
    • 2022-01-16
    • 2018-02-06
    • 2014-05-20
    • 2018-09-17
    • 1970-01-01
    相关资源
    最近更新 更多