JS和HTML表单

时间:2014-05-25 14:29:06

标签: javascript html forms

我希望能够在单击提交按钮后从表单中插入文本。然后,我的自定义javascript函数将对文本进行哈希处理,如下所示。

这是我的代码:

var translate = function (text) {
  var hash = {
       "A": "B",
       "C": "D",
       "E": "F",
       "a": "b",
       "c": "d",
       "e": "f"
  } ;

  return text.replace (/. / g, function (char) {
     return hash [char] || char;
  });
} ;

translate ('ABE')// BCF

问题是我不知道如何将此代码连接到我的HTML表单。

<form action="/" method="post" name="textform" id="textform">
<p><textarea name=""text" id=""text" cols="48" rows="8"></textarea>
</p>
<p><input name="submit" type="submit" id="submit" value="Go" />
</p>
</form>

最好举例说明如何将这些代码嵌入到页面中以使其工作。谢谢。

P.S。我是一个绝对的初学者,所以不要对我的问题感到惊讶。

1 个答案:

答案 0 :(得分:0)

修复<textarea>

的“name”和“id”属性之前的额外引号
  1. 为表单的提交事件创建一个事件处理程序。
  2. 在该处理程序中,将textarea的值替换为已翻译的值。
  3. 可选择不允许表单提交(不确定是否需要)。
  4. 将此代码放在您</form>标记后的任意位置:

    <script>
    document.forms[0].addEventListener("submit", function (e) {
      // if you DO want the form to submit then get rid of the next 2 lines
      e = e ? e : window.event;
      e.preventDefault();
    
      var t = document.getElementById('text');
      t.value = translate(t.value);
    });
    </script>