为什么不打印段落中的字符

Why it is not printing the character in a paragraph?

本文关键字:字符 段落中 打印 为什么不      更新时间:2023-09-26

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

应该在一个段落中打印。

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>

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

您需要使用innerHTML或innerText/textContent的段落

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

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);
}
<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>

在访问表单中的元素时遇到了问题。

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

但是这只对表单元素有效,对其他HTML元素无效。

在这些元素中,您可以使用idname,但由于历史原因。

你还有别的办法:

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>

这就行了:

<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>