【问题标题】:Resizing of HTML textarea调整 HTML 文本区域的大小
【发布时间】:2013-11-14 06:48:05
【问题描述】:

是否可以将浏览器上的 html 文本区域调整大小发送回服务器?

我有一个简单的 servlet,它发送一个包含 textarea 的表单?浏览器上的用户可以填写表格,调整文本区域的大小并单击提交。我在 post call 中获得了数据,但无法弄清楚如何找到 textarea 的调整大小信息?

【问题讨论】:

  • 您的意思是在提交数据或实际调整大小操作时获取文本区域的最终尺寸吗?您打算如何处理这些信息?
  • 我想保留尺寸。当使用点击提交时,我会在 html 正文中使用一些附加参数再次回复表单。我不想回复默认的表单大小,而是想保留大小,以便使用时不必每次都调整大小。(这是我的要求用例之一)
  • 那么您应该只发送一个 Ajax 调用而不是表单提交。当您特别想保留用户修改的外观时,没有理由离开页面。
  • 我是这方面的新手(ajax atc.),请您提供示例代码。
  • 这不是对这里提出的问题的回答。在检查了一些入门知识并尝试解决您的 Ajax 问题后,您应该就您的原始问题或在特定情况下使用 Ajax 提出一个新问题。

标签: html http servlets


【解决方案1】:

你可以用 Javascript 做到这一点:

document.getElementById('id-of-textarea').style.width
document.getElementById('id-of-textarea').style.height

您的 Javascript 可以在提交之前将它们放在表单中的隐藏字段中。

【讨论】:

  • 谢谢,我可以用你的解决方案实现它。正如 Jukka 指出的那样,Ajax 似乎是我用例的完美解决方案,我将尝试探索。
【解决方案2】:

使用jQuery提取文本区域的高度和宽度。

接下来,从实际高度和宽度值中减去计算值。

接下来,您可以创建一个新的输入元素并在提交时将这些值插入其中。

这将在您的“onSubmit”函数中

var ht = $( "#{textarea id}" ).height();
var wd = $( "#{textarea id}" ).width();

var $form = $( "#{form id}" )
        .append('<input type="hidden" name="height" value="'+ht+'" />')
        .append('<input type="hidden" name="width" value="'+wd+'" />');

... continue with the submit ...

或者只是使用纯 JS 在 onSubmit 函数中提取和创建元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-29
    相关资源
    最近更新 更多