2017-10-28 9 views
1

링크 클릭시 fancybox를 여는 중입니다.제출 버튼이 팬시 박스와 작동하지 않습니다.

이 멋진 상자 내가 버튼을 클릭 제출에 인증 할 사용자 이름과 암호를 가지고있다. (간단하게하기 위해 나는 단지 지금의로 제출 버튼에 fancybox를 변경) 나는 PHP 코드를 작성했습니다

하는 fancybox 나 html 페이지 (정확히 어디에 있는지 모르지만)에 hello가 표시되어야하지만 표시되지 않습니다.

fancybox 또는 html 페이지에서 제출 버튼을 클릭하면 인사말을받는 방법은 무엇입니까?

아약스 호출을 사용하고 싶지 않지만 아약스 호출이 없으면 불가능한 경우이 경우 아약스를 사용하는 방법은 무엇입니까? 같은 페이지에

//p.php

<html> 
<head> 

    <style> 
    #hidden-content-b 
    { 
    /* Custom styling */ 
    max-width: 850px; 
    border-radius: 40px; 

    /* Custom transition - slide from top*/ 
    transform: translateY(-50px); 
    transition: all .33s; 
    } 

    .fancybox-slide--current #hidden-content-b 
    { 
    transform: translateY(0); 
    } 

    </style> 

    <link rel="stylesheet" type="text/css" href="fancybox-master/dist/jquery.fancybox.min.css"> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 
    <script src="fancybox-master/dist/jquery.fancybox.min.js"></script> 

</head> 

<body> 

    <h2>fancyBox v3.1 - Inline content</h2> 
    <form action = "p.php" method = "post"> 
     <div class="grid"> 

      <p> 
      <a data-fancybox data-src="#hidden-content-a" 
      href="javascript:;" class="btn">Open demo</a> 
      </p> 

      <div style="display: none;" id="hidden-content-a"> 
       <center> 
       <h1><b>HTML</b></h1> 
        <input type = "submit" value = "Submit" name = "submit"> 
       </center> 
      </div> 

      <?php 
       if(isset($_POST['submit'])) 
       echo "hello"; 
      ?> 

     </div> 

    </form> 
</body> 
</html> 

답변

0

에서 fancyBox를 선택하면 해당 위치에서 이동하므로 양식 내부에 있지 않습니다. 당신은 당신의 내용이 양식을 포함하도록 예를 들어, 요소의 순서 을 변경해야 : 나는 같은 페이지로 리디렉션하고

<div class="grid"> 

    <p> 
    <a data-fancybox data-src="#hidden-content-a" 
     href="javascript:;" class="btn">Open demo</a> 
    </p> 

    <div style="display: none;" id="hidden-content-a"> 
    <form action="p.php" method="post"> 
     <center> 
     <h1><b>HTML</b></h1> 
     <input type="submit" value="Submit" name="submit"> 
     </center> 
    </form> 
    </div> 

</div> 
+0

이 경우 html 페이지에 php 출력이 표시됩니다. 새로운 fancybox에서 php의 출력을 얻으려면 코드에서 어떤 변경을해야합니까? – Krishna

+0

사용자 정의 제출 이벤트 핸들러 추가 -> ajax를 사용하여 데이터 전송 -> 새로운 fancyBox 표시 – Janis

0

재 지정 양식 작업 및 확인하면 (는 isset ($ _ POST)는 [ '제출']) 사용 일부 콘텐츠를 표시 할 때 처음

+0

심지어 처음에 체크는 isset을 시도했지만 버튼을 아무 일도 발생하지 클릭합니다. – Krishna

+0

div가 숨겨져 있으므로 제출 버튼이 보이지 않습니다. – codebreaker

+0

공개 데모 링크를 클릭하면 div가 표시되지만 div의 제출 버튼을 클릭해도 아무 일도 일어나지 않습니다. fancybox 또는 html 페이지에서 제출 버튼을 클릭하면 인사말을받는 방법은 무엇입니까? – Krishna