如何使用 Prototype 自动调整文本区域大小?

2024-01-10

我目前正在为我工​​作的公司开发一个内部销售应用程序,并且我有一个允许用户更改送货地址的表单。

现在,我认为如果我用于主要地址详细信息的文本区域仅占据其中文本的区域,并且在文本发生更改时自动调整大小,那么它看起来会好得多。

这是当前的屏幕截图。

有任何想法吗?


@Chris

很好,但我有理由希望调整它的大小。我希望它占用的区域是其中包含的信息的区域。正如您在屏幕截图中看到的,如果我有一个固定的文本区域,它会占用相当大的垂直空间。

我可以减小字体,但我需要地址大且可读。现在我可以减小文本区域的大小,但是对于那些地址行需要 3 或 4 行(一个需要 5 行)的人来说,我会遇到问题。需要让用户使用滚动条是一个主要的禁忌。

我想我应该更具体一点。我正在垂直调整大小,宽度并不那么重要。出现的唯一问题是,当窗口宽度太小时,ISO 编号(大的“1”)会被推到地址下方(如屏幕截图所示)。

这不是有什么噱头,而是有什么花招。它是关于用户可以编辑的文本字段,该文本字段不会占用不必要的空间,但会显示其中的所有文本。

不过,如果有人想出另一种方法来解决这个问题,我也愿意。


我对代码做了一些修改,因为它的行为有点奇怪。我将其更改为在按键时激活,因为它不会考虑刚刚键入的字符。

resizeIt = function() {
  var str = $('iso_address').value;
  var cols = $('iso_address').cols;
  var linecount = 0;

  $A(str.split("\n")).each(function(l) {
    linecount += 1 + Math.floor(l.length / cols); // Take into account long lines
  })

  $('iso_address').rows = linecount;
};

当你在别人的墙上写字时,Facebook 就是这么做的,但只是垂直调整大小。

由于自动换行、长行等原因,水平调整大小让我觉得很混乱,但垂直调整大小似乎非常安全和漂亮。

我认识的使用 Facebook 的新手中没有一个人提到过这件事,也没有人对此感到困惑。我会用它作为轶事证据来说“继续,实施它”。

一些 JavaScript 代码可以做到这一点,使用原型 http://en.wikipedia.org/wiki/Prototype_JavaScript_Framework(因为那是我熟悉的):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <script src="http://www.google.com/jsapi"></script>
        <script language="javascript">
            google.load('prototype', '1.6.0.2');
        </script>
    </head>

    <body>
        <textarea id="text-area" rows="1" cols="50"></textarea>

        <script type="text/javascript" language="javascript">
            resizeIt = function() {
              var str = $('text-area').value;
              var cols = $('text-area').cols;

              var linecount = 0;
              $A(str.split("\n")).each( function(l) {
                  linecount += Math.ceil( l.length / cols ); // Take into account long lines
              })
              $('text-area').rows = linecount + 1;
            };

            // You could attach to keyUp, etc. if keydown doesn't work
            Event.observe('text-area', 'keydown', resizeIt );

            resizeIt(); //Initial on load
        </script>
    </body>
</html>

PS:显然这段 JavaScript 代码非常幼稚,没有经过充分测试,您可能不想在包含小说的文本框中使用它,但您已经了解了总体思路。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Prototype 自动调整文本区域大小? 的相关文章

  • 更新 Google 地图流量层而无需重新加载页面

    我的页面中嵌入了 Google 地图 我使用 initMap js 函数来初始化地图 function initMap var map new google maps Map document getElementById t map zo
  • 如何检查元素的内容是否为空,如果是,则在 jquery 中删除该元素

    我目前正在尝试选择某个 div 内没有内容的任何 h2 元素并将其删除 这是我的 html 代码 div class skipToContainer h2 class vidSkipTo Hello h2 h2 class vidSkipT
  • c# 如何生成锦标赛括号 HTML 表

    所以我已经被这个问题困扰了三个星期 但我一生都无法弄清楚 我想做的是使用表格获得这种输出 演示 http www esl world net masters season6 hanover sc2 playoffs rankings htt
  • 有没有办法在 html 图像标签中显示位图数据? [复制]

    这个问题在这里已经有答案了 有没有办法在 HTML 元素中显示位图图像数据 例如 您有一个指向源文件的常规图像 如下所示 img src myImage png width 100 height 100 有没有这样的事情 img width
  • 在 jQuery AJAX 成功中从 MySql 获取特定响应

    好吧 我有这个 ajax 代码 它将在 Success 块中返回 MySql 的结果 ajax type POST url index php success function data alert data My Query sql SE
  • 带时间戳的 Firestore 查询

    如果它是文本字段 我可以使用 where 条件获取数据 但是当我尝试对时间戳字段和日期执行相同操作时 事情不起作用 这是我的代码 home ts firebase firestore collection cities where time
  • 浏览器默认区域设置 - Intl.DateTimeFormat 与 navigator.language

    在对网站进行编码并格式化日期时 我想使用用户在浏览器中设置的区域设置 例如 如果用户定制了他们的chrome settings languages在 Chrome 中设置为非默认值 这就是我想要使用的值 但是 当我在此类浏览器的控制台中运行
  • Phonegap facebook 插件:android 的各种问题

    我正在尝试将 Phonegap 3 1 与 Phonegap facebook plugin 集成 以使我的应用程序能够使用 facebook 登录 https github com phonegap phonegap facebook p
  • 由于固定导航,增加了 FancyBox v2 的顶部和底部边距

    我目前正在开发一个网站 该网站将来将具有响应能力 该网站主要由图像组成 单击这些图像会加载到 FancyBox 中 FancyBox v2 现在具有响应能力 因此可以在屏幕尺寸发生变化时重新调整图像等的大小 作为我设计的一部分 我有两个固定
  • 仅在首页加载时使用 cookie 加载 colorbox

    我尝试了来自网络的参考代码 仅在页面加载时加载特定元素一次 这是示例代码
  • PhantomJS 网页内存消耗?

    是否有一种编程方式 因为我想在运行时自动执行 方式来查看网页在通过 PhantomJs 运行时使用了多少内存 我也在使用 casperjs 如果这有帮助的话 我已经搜索了很多但没有找到任何方法 PhantomJs 使用 QtWebKit 因
  • 如何修复 getImageData() 错误画布已被跨源数据污染?

    我的代码在本地主机上运行得很好 但在网站上却不起作用 我从控制台收到此错误 对于这一行 getImageData x y 1 1 data Uncaught SecurityError Failed to execute getImageD
  • Javascript:更改输入值时设置光标位置

    当您输入公式时 我试图在我的应用程序中重现类似于 Microsoft Excel Google Sheets 的用户体验 并且您可以使用不同的公式和变量来自动完成下拉菜单 为此 在验证自动完成功能后 我希望能够控制光标的位置 例如 如果我输
  • JavaScript 中最长的通用前缀

    我正在尝试解决 Leet Code 挑战14 最长公共前缀 https leetcode com problems longest common prefix 编写一个函数来查找字符串数组中最长的公共前缀字符串 如果没有公共前缀 则返回空字
  • 数字和小数的输入掩码

    在测试我的程序后 我发现了以下错误 我在 sqlserver 中的表包含 价格数字 6 2 我的程序的用户输入价格 555 00 就很好了 但是当他输入 555555 时 这是错误的 所以我需要指定掩码 其中尾数是可选的 0 到 999 小
  • 响应式导航栏隐藏其下方的元素

    我创建了一个响应式导航栏 但它使下面的元素 Flexslider 插件 消失 在我制作导航栏之前 下面的 Flexslider 可以正常显示 但现在不行 导航栏的 z index 为 2 所以我不知道问题是什么 我应该如何 更改什么才能允许
  • 在 JSP 或 Javascript 中清除浏览器缓存中的图像

    我正在为一所大学开发JSP Web 应用程序 用户页面中显示人员图片 用户注销后如何从网络浏览器缓存中清除这张图片 使用 JSP 或 JavaScript 那是不可能的 最好的选择是完全禁用相关资源的缓存 创建一个filter https
  • 如何更改 Shiny 中 navbarPage 折叠的断点

    我想用shiny navbarPage collapsible TRUE 当在小屏幕上查看我的 Shiny 应用程序时 将导航元素折叠到菜单中 默认情况下 当浏览器宽度小于 940 像素时会触发折叠 有什么方法可以改变这一点 以便在稍大的浏
  • 两种颜色边框

    客户想要两种颜色的边框以获得浮雕外观 我可以在一个元素上执行此操作吗 我希望避免堆叠两个具有单独边框的 DOM 元素 是的 使用outline财产 它充当您边界之外的第二个边界 但请注意 它可能会以一种奇怪的方式与边距 填充和阴影进行交互
  • NodeJS:如何获取服务器的端口?

    您经常会看到 Node 的示例 hello world 代码 它创建一个 Http Server 开始侦听端口 然后执行以下操作 console log Server is listening on port 8000 但理想情况下你会想要

随机推荐

  • 动态改变admob横幅尺寸

    事情是这样的 你可能知道 Admob 有一个AdSize 函数 你把它放在哪里Banner要显示横幅广告和平板电脑横幅的 AD banner 我想要做的是获取设备的屏幕尺寸 以便我可以将其放入 if 语句中 然后为正确的设备放置正确的横幅
  • 如何设置全局CURL速率(速度)限制?

    我环顾四周寻找 CURL 设置文件 但在 etc 中没有找到它 并且在curl 站点 ether 上也没有找到太多 所以基本上我想要做的就是设置curl可以上传的最大速度限制 无论有多少个实例正在运行 以便我的服务器有一些上传能力留给其他任
  • python 子进程正在覆盖用于标准输出的文件 - 我需要它附加到文件(Windows)

    我想附加STDOUT of subprocess call 到现有文件 我下面的代码覆盖该文件 log file open log file path r cmd r echo some info for the log file subp
  • 缩进多行标签

    我有以下自动生成的 HTML http jsfiddle net BrV8X http jsfiddle net BrV8X 使用 CSS 缩进标签以便单选按钮下方有一些空白的建议方法是什么 label display block marg
  • geom_smooth 自定义线性模型

    一边看着this https stackoverflow com questions 44766497 plotting multiple regression lines based on a variable in rs ggplot2
  • 如何隐藏winforms numericUpDown控件上的箭头?

    为了隐藏箭头 我添加了 numericUpDown Controls 0 Hide 它隐藏了箭头 但在打开表单时留下了空白 如何将它们隐藏为像简单的文本框一样 您可以通过访问 numericUpDown 来隐藏箭头Controls财产 您可
  • 按需复制 Google 电子表格

    我创建了一个相当复杂的 Google 电子表格 我希望用户能够单击按钮或点击链接 并获取此电子表格的副本 他们可以在其中填写数据 我稍后会检查手动处理这些数据 无论如何 我可以通过复杂的链接或一些 JavaScript 甚至可能使用服务器端
  • VS Code 中的快速文本滚动

    我正在 macOS 上测试 Visual Studio Code 想知道是否有可以加快滚动速度的组合键 例如 我需要这个来快速从代码的早期部分转到文件末尾的部分 e g in Emacs when I hold up down arrow
  • 使用 Bootstrap 3 如何隐藏表中的列?

    我试图在我的响应式设计中隐藏列col xs and col sm 我首先尝试使用hidden xs hidden sm类 但这不起作用 我也尝试过使用visible desktop正如这里提到的 Twitter Bootstrap 响应式
  • 在特定的 Woocommerce 产品类别档案页面上显示产品属性

    我想在类别页面上显示两个属性 仅在特定类别上显示属性名称和值 我发现的这段代码显示了属性的标签 但复制了值 我真的很难显示类别变量 任何帮助是极大的赞赏 代码 add action woocommerce after shop loop i
  • 将泛型参数与 impl 中的关联类型相匹配

    我有一个具有关联类型和通用结构的特征 trait Generator type Foo fn generate self gt Self Foo struct Baz
  • Eclipse RCP 应用程序中的项目特定首选项页面

    我想为我们的产品启用基于项目的首选项对话框 我偶然发现了两个不同的问题 我如何存储这些项目相关信息 作为一种有根据的猜测 我会尝试这个 IPreferenceStore store new ScopedPreferenceStore new
  • 找出SQL查询的历史记录

    在服务器上执行了更新SQL查询 导致后来出现很多问题 如何获取过去 2 个月执行的更新查询的列表 以便我可以准确跟踪有问题的 SQL 查询 select v SQL TEXT v PARSING SCHEMA NAME v FIRST LO
  • 如何在 SwiftUI NavigationLink 中删除不透明动画

    当点击 NavigationLink 时 它会稍微降低不透明度 有没有办法禁用此功能 我尝试使用 buttonStyle PlainButtonStyle 但这并没有达到预期的效果 它嵌入在滚动视图中 在可定制性方面优于列表 ScrollV
  • 我可以使用 Mojolicious 构建静态网站吗?

    是否可以使用Mojolicious模板系统来构建静态网站 我正在尝试使用这样的 骨架 脚本 use Mojo Template use Mojolicious Plugin DefaultHelpers use Mojolicious Pl
  • 在没有秘密的情况下解码 JWT 令牌

    我通过 JWT 使用私钥创建了一个令牌 但是当我尝试对其进行解码时http kjur github io jsjws tool jwt html http kjur github io jsjws tool jwt html 我发现令牌可以
  • 使用 WCF 以及 jquery(AJAX) 和 html 客户端的文件上传服务

    我想知道如何通过使用 jquery 进行 AJAX 调用来使用 WCF 上传文件 您可以使用一些现成的 JQuery 插件 例如 Ajax文件上传 http www phpletter com Our Projects AjaxFileUp
  • 页面加载完成后如何执行JavaScript函数?

    页面加载完成后如何执行JavaScript函数 Use the onload像这样的事件 window onload function your code here
  • RecyclerView onClick 用于多个按钮并从 Activity 进行处理

    我在用着RecyclerView with CardView并在里面CardView有 2 个按钮 现在 已经实施了onClick事件通过实施View OnClickListener by the ViewHolder静态类并覆盖事件 其工
  • 如何使用 Prototype 自动调整文本区域大小?

    我目前正在为我工 作的公司开发一个内部销售应用程序 并且我有一个允许用户更改送货地址的表单 现在 我认为如果我用于主要地址详细信息的文本区域仅占据其中文本的区域 并且在文本发生更改时自动调整大小 那么它看起来会好得多 这是当前的屏幕截图 有