如何从文本框中获取元素并将它们存储在数组中

时间:2013-01-26 19:12:29

标签: javascript jquery arrays associative-array

任何人都可以帮我将数据存储在从文本框中提取的数组中。我需要设计一种格式,以便在按下空格时,它应该在空格字符之前显示不同的字体颜色。空间之后的元素应该像往常一样。

编辑:

<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
  var x = 0

  function abc() {
      var a = new Array("a", "b", "c", "d", "e", "f", "g", ..... "h", "x", "y", "z")
      document.getElementById("type").value = a[x]

      var i = document.getElementById("type").value
      var n = i.charAt(i.length - 1)
      alert(n)
      var n = i.substring(0, i.length - 1)
      document.getElementById("type").value = n.concat(a[x]);
      if (x >= 0) x++
      if (x >= 26) x = 0

  }
</script>

</head>
<body>
<!--<input type="text" name="type" id="type" size="100" onkeyup="abc()">-->

<input type="text" name="type" id="type" size="100" onkeypress="abc()">
<div id="log"></div>

另一个尝试:

<script>
  e = jQuery.Event("keypress", {
      keyCode: 32
  });
  jQuery('#type').bind('keydown', function (e) {
      var s = e.which;
      jQuery('#log').html(e.which);

      if (s == 8) { //backspace
          alert('back space');
      }
      if (s == 32) { //space bar
          alert('space');
          var z = document.getElementById("type").value
          jQuery('#type').css({
              'color': 'blue'
          });
      }
  });
</script>
</body>
</html>

1 个答案:

答案 0 :(得分:2)

由于输入中不能有多种颜色,因此您应该没有输入,只有标签,而在用户输入时,您可以捕获事件并附加到该标签。

$("body").keypress(function (e) {
    var s = e.which;
    var c = String.fromCharCode(e.which);

    $("#log").children(":last").append(document.createTextNode(c));

    if (s == 32)  { // Space
        $("#log").children(":last").css({ 'color': 'blue' });
        $("#log").append($("<span/>"));
    }
});

以下是示例:http://jsfiddle.net/B5wwP/

只需点击结果区域即可开始输入。我只做了空间功能,你需要添加其他东西,比如退格......