javascript - 删除 html 页面的可打印版本上的输入占位符

标签 javascript html printing placeholder html-input

我有一个带有输入字段的表单。每个输入字段都有一个占位符属性。 还有一个链接显示了同一表格的可打印版本。

我的问题是,如果我保持占位符属性不变并且输入字段为空,那么实际上会打印占位符,这不是很好。

我正在寻找一种方法来解决这种不幸的行为。现在,我唯一能想到的就是在 javascript 中遍历 DOM,并在给出可打印版本时删除所有占位符属性。当然,当恢复到正常的页面 View 时,占位符属性也必须恢复。

这并不难,但也不是很优雅。请问有没有更好的解决办法。

最佳答案

在大多数现代浏览器中,您应该能够通过一些非标准的 CSS 选择器在打印时隐藏占位符。

@media print {
  ::-webkit-input-placeholder { /* WebKit browsers */
      color: transparent;
  }
  :-moz-placeholder { /* Mozilla Firefox 4 to 18 */
      color: transparent;
  }
  ::-moz-placeholder { /* Mozilla Firefox 19+ */
      color: transparent;
  }
  :-ms-input-placeholder { /* Internet Explorer 10+ */
      color: transparent;
  }
}

(或color: white等)

选择器列表被盗:Change an HTML5 input's placeholder color with CSS

关于javascript - 删除 html 页面的可打印版本上的输入占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16493360/

相关文章:

javascript - 如何检测 Canvas 的中心线以在拖动对象时使其居中?

javascript - PayPal Checkout v2 SDK .NET 与 PayPalHttp.HttpResponse 的问题

jquery - 我怎样才能在我的 div 后面放一条线?

javascript - 隐藏 CSS 滚动条,直到满足最大宽度和最大高度条件

javascript - 内容淡入背景

php - 如何设置 html 文件以使用热敏打印机进行打印

javascript - NodeJS 发布请求 - 参数中的数字返回 NaN

Javascript,onbeforeunload 事件在 IE 中提交表单时有效

Python:函数 print() 中的语法无效

Android PrintManager 获取回调