2014-07-10 2 views
0

텍스트 필드와 이미지 필드가 몇 개있는 php로 보내는 양식이 있습니다. 하지만 내 자바 스크립트는 PHP에서 반향을 받고 있지 않습니다. 그것은 거기에 에코 된 데이터와 함께 나를 PHP로 리디렉션합니다. 궁금해 왜 내 자바 스크립트 않습니다. 시간 내 주셔서 감사합니다.Javascript가 PHP에서 데이터를 수신하지 못합니다.

<script type="text/javascript" > 


    $("button#signinbutton").click(function() { 
    if ($("#list").val() == "") { 
     $("p#result").html("Please enter both userna"); 
    } else { 

     $.post($("#submitform").attr("action"), $("#submitform").serializeArray(), function(data) { 

      var reply = data.replace(/\s+/, ""); 
      if($.trim(data) == 'success'){ 
      location.replace("account.html") 

      } 
      else 
      { 

      $("p#result").html(data); 
      } 
     }); 
    } 
}); 

$("#submitform").submit(function() { 
    return false; 
}); 

    </script> 
+0

미안하지만 입력 오류입니다. – Benyaman

+0

PHP가 어떻게 생겼습니까? – Mark

답변

0

양식이 브라우저에서 페이지를 다시로드하는 표준 양식 제출을하는 것처럼 들립니다. 대부분의 경우 DOM 준비 함수에서 이벤트 핸들러를 래핑하지 않아야합니다. </body> 닫기 전에 DOM 준비 래퍼를 사용하거나 코드를 페이지 끝으로 이동하십시오. 이벤트를 할당 할 때 양식과 버튼은 DOM에 존재하지 않으므로 해고 된 적이 없습니다.

$(function(){ 
    $("button#signinbutton").click(function() { 
     ... 
    }); 

    $("#submitform").submit(function() { 
     return false; 
    }); 
}); 

이렇게하면 AJAX가 전송되어 페이지가 새로 고침되지 않습니다. 파일 업로드 입력이있는 경우 serializeArray()을 사용할 수 없습니다. See this question for AJAX file uploads.

+0

끝 바디 태그 앞에 코드를 옮겨 보았습니다. 그러나 이미지 업로드를 허용하지 않습니다. 그것은 정의되지 않은 인덱스 : 오류 파일을 제공하지만 자바 스크립트를 제거하면 이미지를 업로드 할 수 있지만 에코는 빈 PHP 페이지로 이동했습니다. – Benyaman

+0

내가 스크립트 태그에 포함해야 할 것이 있다면? 텍스트와 이미지를 모두 허용 하시겠습니까? – Benyaman

+1

이제는 아약스가 제출되기 때문에 첫 번째 문제가 해결되었지만 $ .post()가있는 jQuery의 serializeArray()는 파일을 업로드하지 않고 파일이 아닌 표준 양식 입력 요소 만 게시합니다. AJAX 파일 업로드에 대한 참조 http://stackoverflow.com/questions/2320069/jquery-ajax-file-upload – MrCode

관련 문제