2014-02-25 4 views
2

코드는 문장/문자열을 받아야하며 단어 안에 포함 된 단어 나 문자가 문자열에 속하면 단어가 인쇄되지 않습니다.자바 스크립트 코드가 인쇄되지 않습니다.

질문, 왜 내 코드가 인쇄되지 않고 있습니까 ?? tnx!

입력 : 안녕하세요 당신의 이름은 무엇입니까? 출력은해야 필터

O를 :

문제 (단어 '무엇'밑줄) 어떤 이름 것은 화면에 하나의 단어 쇼가! 모든 이들의 당신이 (여분의 공간) 오류를 예를 들어

<html> 
    <head> 
    <script> 
    function myfunc() { 
    var count, i =0; 
    var phrase= document.getElementById('phrase').value; 
    var filter = document.getElementById('filter').value; 
    var arr = phrase.split(" ").reverse(); 
    for (i=0; i<arr.length; i++){ 
     if (arr[i].search(filter) == -1){ 
     count++; 
     if (count%2==1) 
      document.getElementById('words').innerHTML="<span class='word'><u>"+ arr[i]+ "</u></span>"; 
     else 
      document.getElementById('words').innerHTML="<span class='word'>"+arr[i]+ "</span>"; 
     } 
} 
document.getElementById('count').innerHTML= count + "word(s) filtered out" ; 
}   
</script> 
</head> 
<body > 
    <h1>Sentence Reverser!</h1> 
    <div> Phrase: <input id="phrase" type="text" size="40"/></div> 
    <div> Filter: <input id="filter" type="text" size="10"/></div> 
    <div><button id="go" onclick="myfunc()"> Go! </button></div> 
    <div id="words"></div> 
    <div id="count"></div> 
</body> 
</html> 
+0

... –

+0

'VAR 수, 전 = 0; ''count'를 0으로 설정하지 않으면'undefined '가됩니다. 따라서'count ++;'는 카운트를'NaN'으로 설정합니다 – lastr2d2

+0

ok, tnx가 더 잘 작동합니다! 그러나 당신이 인쇄하지 않는 단어! 오직 그게 ... 그게 yoe가되어야합니다 – user3322858

답변

0

: 분명히

var filter = document.ge tElementById('filter').value; 

이되고, :

var filter = document.getElementById('filter').value; 

는 제안 : 크롬에 테스트 용을 예를 들어, F12 키를 누르고 콘솔 오류를 살펴보십시오.

0

현재 사용시 getElementById DOM은 빌드되지 않습니다. 리스너를 추가 할 때까지 기다려야합니다.

0

업데이트 코드 : 필터의 선언에 공간이있다

<html> 
    <head> 
    <script> 
    function myfunc() { 
    var count=0, i =0; 
    var phrase= document.getElementById('phrase').value; 
    var filter = document.getElementById('filter').value; 
    var arr = phrase.split(" ").reverse(); 
    for (i=0; i<arr.length; i++){ 
     if (arr[i].search(filter) == -1){ 
     count++; 
     if (count%2==1) 
      document.getElementById('words').innerHTML+=" <span class='word'><u>"+ arr[i]+ "</u></span>"; 
     else 
      document.getElementById('words').innerHTML+=" <span class='word'>"+arr[i]+ "</span>"; 
     } 
} 
document.getElementById('count').innerHTML= count + "word(s) filtered out" ; 
}   
</script> 
</head> 
<body > 
    <h1>Sentence Reverser!</h1> 
    <div> Phrase: <input id="phrase" type="text" size="40"/></div> 
    <div> Filter: <input id="filter" type="text" size="10"/></div> 
    <div><button id="go" onclick="myfunc()"> Go! </button></div> 
    <div id="words"></div> 
    <div id="count"></div> 
</body> 
</html> 
+0

하지만 왜 내가 그것을 필요합니까? – user3322858

+0

"search"대신 "indexOf"를 사용하십시오. – kcak11

+0

하지만 내 필터가 h 인 경우 검색을 사용할 수없는 이유는 무엇입니까? – user3322858

관련 문제