2012-07-12 2 views
0

약간의 검색 스크립트를 만들려고하지만 제출을 클릭했을 때 페이지가 다시로드되는 것을 막을 수 없습니다. 내 코드에 문제가있을 수 있습니다.어떻게 양식이 페이지 제출/다시로드를 중단하지 않습니까?

function searchThat(e) { 
    if (!e) e = window.event; 
    e.preventDefault(); 

    if (searchFor.indexOf(searchIn) != -1) { 
     console.log('we found it'); 
    } 
} 

감사합니다.

나는

if (searchFor && searchIn && searchSubmit) { 
    addEvent(searchSubmit, 'submit', searchThat) 
    } 

와 함께 호출 오전 :

function addEvent(elem, evtType, func) { 
    if (elem.addEventListener) { 
     elem.addEventListener(evtType, func, false); 
    } else if (elem.attachEvent) { 
     elem.attachEvent("on" + evtType, func); 
    } else { 
     elem["on" + evtType] = func; 
    } 
} 

와 HTML을 :

<div class="container"> 
    <form> 
     <p>Search for:</p> 
     <p class="mrm"> 
      <input type="text" id="searchFor" name="searchFor"> 
     </p> 
     <p>In:</p> 
     <textarea class="mrm" type="text" id="searchIn" name="searchIn"></textarea> 
     <p> 
      <input type="submit" class="clicker nmb" id="searchSubmit" name="searchSubmit"> 
     </p> 
    </form> 
</div> 
+0

"제출하는 방법"에 대한 내용입니다. 우편 번호. – Shenaniganz

+0

'searchSubmit'은'

'라고 가정합니까? –

+0

우리는 HTML 폼, 특히 자바 스크립트 호출에 사용하는 코드를 볼 필요가 있습니다. – ernie

답변

1

<Input type="submit"/> 항상 다시 게시하고 페이지를 다시로드 트리거합니다. 당신이 <Input type="button"/>

그리고

에 입력을 변경 구현하기 위해 노력하고 무엇이든 함께 작동하는 경우
addEvent(searchSubmit, 'click', searchThat) 
{} 

코드가없는 그러나 당신이 게시 한 것과 당신이 할 수 많은 논리가있을 수 있습니다 당신의 삶을 훨씬 더 쉽게 할 수 있습니다.이 모든 복잡한 JScripting을 수행하면됩니다. <Input type="button" value="Click Me" onclick="searchThat()"/>

+0

괜찮습니다. – dezman

관련 문제