【问题标题】:Print what's in input fields打印输入字段中的内容
【发布时间】:2017-11-29 03:32:32
【问题描述】:

我有一个简单的页面,里面有输入,我需要用用户输入的内容打印它们。

到目前为止,我可以打印输入字段,但里面总是空的。

class VM{

PrintDiv() {
        let self = this;
        var printContents = document.getElementById('print').innerHTML;
        var originalContents = document.body.innerHTML;

        document.body.innerHTML = printContents;
        window.print();
        location.reload();
    }
  }  
    
    ko.applyBindings(new VM);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<div id="print">some text<input /></div>     
    <br />
    <button data-bind="click: PrintDiv">Print</button>

【问题讨论】:

标签: javascript typescript input knockout.js printing


【解决方案1】:

好吧,您想从输入字段中获取文本,但您从整个 div 获取 HTML,id 为 print。这是简单的修复。

class VM {

  PrintDiv() {
    let input = <HTMLInputElement> document.getElementById('print');
    let printContents = input.value;
    document.getElementById('content').innerText = printContents;
    location.reload();
  }
  
}

ko.applyBindings(new VM);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<div>some text<input id="print" /></div>
<br />
<button data-bind="click: PrintDiv">Print</button>

<div id="content"></div>

【讨论】:

  • 已经试过但是.value不起作用,不知道是不是typescript(.ts)无法识别
  • 您的代码 sn-p 出现错误,我尝试使代码适应我的但仍然不允许我使用 .value
  • 当然报错,那是打字稿,不能像这样在浏览器中运行。立即检查。
  • 感觉更近了,但此刻正在打印 undefined
  • 是的,就是那张贴出来的。如果我将 id 更改为输入内部,我可以获得它的值,但我会丢失其余部分。是否可以推荐使用多次打印来获得结果?这个想法是在页面中有很多输入字段,所以我正在寻找更全球化的东西。感谢您的宝贵时间
猜你喜欢
  • 1970-01-01
  • 2013-01-02
  • 1970-01-01
  • 2016-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-04
相关资源
最近更新 更多