自动验证每个单独的单词(js)

时间:2014-03-08 17:52:31

标签: javascript validation textfield

我试图让JS在我自动输入时验证文本,但它并没有很好地导致我的JS技能非常糟糕。我能够编辑但不能写任何东西。请有人指出我正确的方向!

我希望得到这种效果http://goo.gl/iJpaOf

<div class="Stil35">Ja hodam za divovima, ali oni se plase</div>
<div class="Stil35">
<div id="hn_1" style="display: none;"><a style="cursor:pointer" onclick="tt('sn_1', 'hn_1')">I walk with giants, but they are afraid
</a></div></div>
<form><input type="text" style="width:600px" name="germantext"></form><br><br> 

在文字领域,我要打字,说'#34;我&#34; (这会得到检查)自动给我绿色或红色,这取决于它是错还是正确。 然后我继续输入&#34; walk&#34;我再次获得绿色或阅读,等等......

1 个答案:

答案 0 :(得分:0)

这几乎是你想要的:

document.getElementById('myinput').onkeyup = validate;

var mytext = document.getElementById('mytext');
var str = mytext.innerHTML;
var originalTextArray = str.split('');

function validate() {
  var inputValue = this.value;
  var valueArray =inputValue.split('');
  var myTextArray = Array();
  for(var i = 0; i < valueArray.length; i++) {
      var char = originalTextArray[i];
      if(valueArray[i] !== char) {
          myTextArray[i] = '<span class="error">' + char + '</span>';
      } else {
         myTextArray[i] = '<span class="success">' + char + '</span>'; 
      }
  }

  var rest = str.substr(myTextArray.length);
  mytext.innerHTML = myTextArray.join('').concat(rest);  
}

FIDDLE DEMO