为什么不在段落中打印字符?

时间:2015-05-31 14:24:04

标签: javascript

编写一个输入字符整数代码的脚本,并显示相应的字符。

它应该以段落打印。

function character() {
    var input = document.getElementById( "input" );
    var code = document.getElementById( "output" ).innerHTML = input;
    output.value = String.fromCharCode( code );
}
<input id="input" type="text" size="10">
<br>
<input type="button" value="click here" onclick="character()" id="button">
<br>
<p id="output" ></p>

3 个答案:

答案 0 :(得分:1)

P不是表单元素。此外,如果您使用form.fieldName,则需要使用name=""而不是id="";否则对所有字段使用document.getElementById并忽略表单。

您需要将innerHTML或innerText/textContent用于段落

document.getElementById("output").innerHTML=...

&#13;
&#13;
function character() {
  var form = document.getElementById("form");
  var code = parseInt(form.input.value,10); // radix 10 to make decimal
  document.getElementById("output").innerHTML = String.fromCharCode(code);
}
&#13;
<form id="form">
  <input name="input" type="text" size="10">
  <br>
  <input type="button" value="click here" onclick="character()" id="button">
  <br>
  <p id="output" ></p>
</form>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以访问表单中的元素。

document.getElementById("form").elements['input']

但这仅适用于表单元素,而不适用于其他HTML元素。

在此元素中,您可以使用 id 名称,但由于历史原因。

你还有另一种方式:

function character() {
  var input = document.getElementById("input"),
      output = document.getElementById("output");
      output.innerHTML = String.fromCharCode(parseInt(input.value), 10) || '';
}
<form id="form">
  <input id="input" type="text" size="10">
  <br>
  <input type="button" value="click here" onclick="character()" id="button">
  <br>
  <p id="output" ></p>
</form>

答案 2 :(得分:1)

这里有效:

<script>
function character() {
var ChrCode = document.getElementById("input").value;
document.getElementById("output").innerText = ChrCode + " = " + String.fromCharCode(ChrCode);
//output.value = String.fromCharCode( code );
}
</script>

<input id="input" type="text" size="10">
<br>
<input type="button" value="click here" onclick="character()" id="button">
<br>
<p id="output" >Output</p>