我对JavaScript不是很熟悉,而且我对它的面向对象特性有些困惑。我正在尝试使用JavaScript中的对象,方法和属性的概念创建凯撒移位。我使用HTML表单从用户获取输入,OnClick将编码的密文返回给用户。这就是我所拥有的。我非常清楚我的逻辑,但我想我的对象创建和方法调用都会失败。我做得对吗?任何帮助表示赞赏。 谢谢!
<head>
<script>
function Caesar(order){
this.order = order;
this.encode = encode;
function encode(input){
this.output = '';
for (var i = 0; i < input.length; i++) {
var this.c = input.charCodeAt(i);
if (this.c >= 65 && this.c <= 90) this.output += String.fromCharCode((this.c - 65 + this.order) % 26 + 65); // Uppercase
else if (this.c >= 97 && this.c <= 122) this.output += String.fromCharCode((this.c - 97 + this.key) % 26 + 97); // Lowercase
else this.output += input.charAt(i);
}
return answer.innerHTML= output;
}
</script></head>
<body>
<form>
Enter Plaintext : <input type = "text" name = "plaintext">
Enter Shift: <input type = "text" name = "shift"><br> --How do I get the input from here and create my caesar object?
<input type="button" value="Encode" onclick ="encode()"> --How do I call the encode() method with input from the plaintext text box?
</form>
</body></html>
答案 0 :(得分:0)
为明文文本框提供一个ID,您可以通过该ID在JavaScript中接收它。
<input type="text" name="plaintext" id="plain_text">
在JavaScript中,使用document.getElementById(element_name)
var plainTextBox = document.getElementById('plain_text');
从文本框中检索值非常简单:
plainTextBox.value