将html作为值发送到textarea

时间:2018-03-19 00:17:23

标签: javascript html calculated-field

我有一个文本框,我使用folling html& amp;放置信息以获取基于该搜索的新信息。脚本:

HTML:

<input name="line" placeholder="Line" onkeydown="if (event.keyCode == 13) { calculate(); return false; }" style="width:40px;" type="textbox">
<input value="Reset" type="reset">
<input id="call" placeholder="Entrepreneur" style="width:95px;" type="textbox">
<input id="number" placeholder="Phonenumber" style="width:110px;" type="textbox">

SCRIPT:

function calculate() {
  var line = document.buss.line.value;
  var ent;
  var num;

  switch(line) {
    case "12":
    case "27":
    case "30":
    <-- a lot of cases -->
      ent = "Entrepreneur";
      num = "Phonenumber";
      break;
    case "42":
    case "63":
    case "69":
    <-- a lot of cases -->
    ent = "Entrepreneur";
    num = "Number";
    break;      
    default:
  }
    document.buss.call.value = ent;
    document.buss.number.value = num;
}

所有这一切都很完美,但现在我需要在textarea中输入一些新信息,但我无法按照我想要的方式进行打印。我想要的是信息包括和但是现在它将它打印为文本而不是html,有没有办法改变这个?也有办法将它直接打印到页面而不是有很多文本框和textarea?

HTML:

<input name="line" placeholder="Line" onkeydown="if (event.keyCode == 13) { calculate(); return false; }" style="width:40px;" type="textbox">
<input value="Reset" type="reset">
<input id="call" placeholder="Entrepreneur" style="width:114px;" type="textbox">
<input id="number" placeholder="Number" style="width:90px;" type="textbox">
<textarea id="stop" placeholder="Stop" style="width:300px; height:650px"></textarea>

SCRIPT:

function calculate() {
  var line = document.buss.line.value;
  var ent;
  var num;
  var stop;

  switch(line) {
    case "1":
      ent = "Entrepreneur";
      num = "Number";
      stop = "<b>stop1</b><br>stop2<br>stop3<br><b>stop4</b>";
      break;
    case "2":
      ent = "Entrepreneur";
      num = "Number";
      stop = "<b>stop1</b><br>stop2<br>stop3<br><b>stop4</b>";
      break;
    default:
  }
    document.buss.call.value = ent;
    document.buss.number.value = num;
    document.buss.stop.value = stop;
}

1 个答案:

答案 0 :(得分:1)

您无法在Textarea对象中呈现html。 如果您不需要文本可编辑,则可以使用div ou span标记替换输入和textarea,并替换它的内容。

示例:

如果你替换它:

<textarea id="stop" placeholder="Stop" style="width:300px; height:650px"></textarea>

有了这个:

<div id="stop" style="width:300px; height:650px">Stop</div>

并替换它:

document.buss.stop.value = stop;

有了这个:

document.getElementById('stop').innerHTML = stop;

呈现html。

要使重置按钮工作,您需要添加重置功能。这应该可以解决问题:

<input onclick="resetHtml()" value="Reset" type="reset">

function resetHtml() {
    document.getElementById('stop').innerHTML = "Stop";
}