填充文本区域 - JavaScript

发布于 2024-11-08 05:23:19 字数 637 浏览 0 评论 0原文

我的要求是根据条件填充文本区域。

  • 我从数据库检索签名。
  • 如果签名存在,则使用该值填充文本区域。
  • 如果没有签名,则文本区域应包含:
  • 输入签名并在文本区域内单击, 预先填充的文本应该消失。
  • 如果用户未输入任何文本并在区域外单击, 预先填充的文本应该返回到文本区域。

我的代码不完整,但作为一个开始:

<textarea name="signature" 
    style="width:95%" 
    rows="10" 
    onclick="document.mailForm.signature.value='';">
 <c:choose>
  <c:when test="${signature} == '' ">
      <c:out value="${signaturePrefix}" />
  </c:when>
  <c:otherwise>
     <c:out value="${signature}" />
  </c:otherwise>
 </c:choose>
</textarea>

谢谢。

My requirement is to populate a textarea based on condition.

  • I retrieve signature from db.
  • If signature exists populate the textarea with the value.
  • If there is no signature, then textarea should contain :
  • Enter signature and on clicking inside the text area,
    the pre populated tetxt should disappear.
  • If the user does not enter any text and clicks outside the area,
    the pre populated text should come back in the textarea.

My Code is not complete but as a start :

<textarea name="signature" 
    style="width:95%" 
    rows="10" 
    onclick="document.mailForm.signature.value='';">
 <c:choose>
  <c:when test="${signature} == '' ">
      <c:out value="${signaturePrefix}" />
  </c:when>
  <c:otherwise>
     <c:out value="${signature}" />
  </c:otherwise>
 </c:choose>
</textarea>

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

满身野味 2024-11-15 05:23:19

对于数据库部分,您应该粘贴到目前为止编写的代码/逻辑。对于文本出现/消失,您可以使用一些 jQuery 水印插件:

For DB part you should paste your code/logic written so far. For text appear/dispaear you can use some jQuery Watermark Plugin:

时光磨忆 2024-11-15 05:23:19

仅当“值”为空字符串时才执行单击事件。然后,在处理函数的末尾,删除该事件,以便用户不会丢失所有输入的文本。

function changeContent(element,type){
    element.innerHTML="";
    element.removeEventListener(type,changeContent,false);
}

<textarea name="signature" style="width:95%" rows="10" 
  <c:choose>
    <c:when test="${signature} == '' ">
      onclick="contentChange(this,'click');">
      <c:out value="${signaturePrefix}" />
    </c:when>
    <c:otherwise>
      ">
      <c:out value="${signature}" />
    </c:otherwise>
  </c:choose>
</textarea>

这在 IE 中不起作用,因为它使用 detachEvent。我建议使用一个框架来使这种方法跨浏览器,并且尽可能减少麻烦。

Have a click event execute only if the "value" is the empty string. Then, at the end of the handler function, remove the event so that the user doesn't lose all their inputted text.

function changeContent(element,type){
    element.innerHTML="";
    element.removeEventListener(type,changeContent,false);
}

<textarea name="signature" style="width:95%" rows="10" 
  <c:choose>
    <c:when test="${signature} == '' ">
      onclick="contentChange(this,'click');">
      <c:out value="${signaturePrefix}" />
    </c:when>
    <c:otherwise>
      ">
      <c:out value="${signature}" />
    </c:otherwise>
  </c:choose>
</textarea>

This doesn't work in IE because it uses detachEvent. I would recommend using a framework to make this approach corss-browser with the least amount of hair pulling.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文