2017-10-28 2 views
1

Ich öffne eine fancybox auf einen Link klicken.Submit-Taste funktioniert nicht mit fancybox

Diese Phantasie-Box ist mit Benutzername und Passwort, die I-Taste klicken Sie anschließend auf authentifizieren möge.

Ich habe geschrieben, um einen PHP-Code (Ich habe die fancybox auf eine Submit-Button erst ab jetzt geändert zu vereinfachen), das sollte Hallo haben, entweder in fancybox oder auf der HTML-Seite (nicht genau, wo genau), aber es wird nicht angezeigt.

Wie bekomme ich hallo beim Klicken auf Senden Schaltfläche entweder in Fancybox oder auf der HTML-Seite?

Ich möchte keinen Ajax-Anruf verwenden, aber wenn es ohne Ajax-Anruf nicht möglich ist, wie Ajax in diesem Fall zu verwenden?

//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> 

Antwort

0

Wenn Sie einige Inhalte angezeigt werden unter Verwendung von fancyBox, dann wird es aus seiner Position verschoben und liegt daher nicht in deinem Formular. Sie müssen nur um der Elemente zu ändern, so dass Ihre Inhalte in Form enthält, zum Beispiel:

<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

In diesem Fall zeigt es mir die PHP-Ausgabe auf der HTML-Seite. Welche Änderungen sollte ich im Code vornehmen, um die Ausgabe von PHP in einer neuen Fancybox zu erhalten? – Krishna

+0

Fügen Sie einen benutzerdefinierten Submit-Event-Handler hinzu -> senden Sie Daten mit ajax -> zeigen Sie new fancyBox an – Janis

0

Redirect Form Aktion auf die gleiche Seite und überprüfen, ob (isset ($ _ POST [ 'submit'])) auf den ersten

+0

ich auf die gleiche Seite bin Umleitung und sogar versucht, auf den ersten Überprüfung isset aber auf den Knopf klicken nichts passiert. – Krishna

+0

Ihr div ist versteckt, so dass Sie nicht sehen können, senden Button – codebreaker

+0

Nach dem Klicken auf Öffnen Demo Link ist das div sichtbar, aber nach dem Klicken auf den Absenden-Taste auf dem div nichts passiert. Wie man hallo beim Klicken des Absendeknopfes entweder in fancybox oder auf der HTML-Seite erhält? – Krishna

Verwandte Themen