从HTML创建对象并调用JavaScript方法

时间:2014-03-28 13:19:05

标签: javascript html properties

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

1 个答案:

答案 0 :(得分:0)

为明文文本框提供一个ID,您可以通过该ID在JavaScript中接收它。

<input type="text" name="plaintext" id="plain_text">

在JavaScript中,使用document.getElementById(element_name)

获取HTML元素

var plainTextBox = document.getElementById('plain_text');

从文本框中检索值非常简单:

plainTextBox.value