2013-10-09 3 views
0

페이지를 다시로드하고 맨 위로 스크롤하지 않고도 폼 데이터를 데이터베이스에 전송하는 문제를 적어도 12 가지 시도해 보았습니다. 시도한 모든 솔루션에서 Chrome 및 Safari의 페이지 상단으로 계속 제출하고 스크롤합니다.PHP/JS 폼 리로드 방지

function validateHistory() { 
    var x=document.getElementById("hist").value; 
    if(x==""){ // You made a typo here 
     function(e) { 
      e.preventDefault(); 
      // Great isnt it 
      return false; 
     } 
    } 
} 

또한 잘못된 HTML의 톤을 가지고 : 당신이 당신의 자바 스크립트에 오타가 있기 때문에

//JAVA 
<script type="application/javascript"> 
function doitall() 
{ 
function validateHistory() 
{ 
var x=document.getElementById("hist").value; 
if(x==""} 

    function(e) { 
     e.preventDefault(); 
     // Great isnt it 
    return false; 

    } 
    </script> 

// FORM 
       <form action="search.php" onsubmit="return doitall();"> 
        <td bgcolor="#242424"><input class="textinput" type="text" value="" name ="hist" id ="hist" placeholder="Address" size="50"/></td><td bgcolor="#242424"><input type="hidden" value= name = id = size="100"/></td> 
        <td bgcolor="#242424"><input type="hidden" value=<?php echo $num;?> name ="number" id ="number" size="50"/></td> 
        <td bgcolor="#242424"><input type="hidden" value= name = id = size=""/></td> 

        <td bgcolor="#242424"><input type="submit" value="Submit onsubmit="return doitall();" class="buttonx"/> 
+3

첫 번째 부분은 자바가 아닙니다. 자바 스크립트입니다. 그것들은 똑같지 않다는 것을 당신이 이해한다는 것이 결정적입니다. –

답변

0

이 있습니다. a validator을 사용해보세요.

+0

그런데'e'는 무엇입니까? 그리고 그것은 어디에서 올 것인가? – Imdad

+0

내가 아는 한, 그것은 객체로서의 이벤트이고,'preventDefault();'메소드는 디폴트 액션을 수행하지 않도록 지시한다. [여기에 대한 자세한 정보] (http://stackoverflow.com/questions/3535996/jquery-javascript-functione-what-is-e-why-is-it-needed-what-does-it-ac) @Imdad –