2017-02-22 1 views
0

Ich habe ein Formular mit Radio-Schaltflächen in div1 und ein Captcha-Code in div2 gelöst und ein anderer Inhalt div3 Sobald die Person ein Optionsfeld in div1 überprüft und klicken Sie auf Senden, div1 wird durch div2 ersetzt und wenn eine Person das Captcha in div2 vervollständigt, möchte ich, dass div2 durch div3 ersetzt wird. Aber sobald ich auf div2 bin und das Captcha vervollständige, wird div1 bei submit erneut ohne div3 angezeigt. Irgendeine Möglichkeit, das zu erreichen?Ändern divs zweimal auf verschiedenen Formularübermittlungen

<?php 
require_once("solvemedialib.php"); 
$privkey="My_Private_key"; 
$hashkey="My_Hash_key"; 
$solvemedia_response = solvemedia_check_answer($privkey, 
       $_SERVER["REMOTE_ADDR"], 
       $_POST["adcopy_challenge"], 
       $_POST["adcopy_response"], 
       $hashkey); 
if (!$solvemedia_response->is_valid) { 
$errCaptcha = '<div class="alert">Please enter the Captcha!</div><br />'; 
} else { 
?> 
<script type="text/javascript"> 
$(document).ready(function(){ 
$("#3").css('display', 'block'); 
$("div#2").replaceWith($("#3")); 
}); 
</script> 
<?php 
} 
$genderErr = $gender = ""; 
if ($_SERVER["REQUEST_METHOD"] == "POST") { 
if (empty($_POST["gender"])) { 
$genderErr = "<div class='alert'>Please select a gender.</div>"; 
} else { 
?> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
    $("#2").css('display', 'block'); 
    $("div#1").replaceWith($("#2")); 
    }); 
</script> 
<?php }} 
?> 
<div id="1"> 
<h1>Step 1: Choose your gender</h1> 
    <div> 
    <form id="genderform" action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"> 
    <input type="radio" name="gender" value="male" <?php if (isset($gender) && $gender=="male");?>>Male<br /> 
    <input type="radio" name="gender" value="female" <?php if (isset($gender) && $gender=="female");?>>Female<br /> 
    <input form="genderform" id="submit" name="submit" type="submit" value="Submit"> 
    <?php echo $genderErr;?> 
    </form> 
    </div> 
</div> 

<div id="2" style="display:none"> 
<h1>Step 2: Enter captcha to verify you are not a bot!</h1> 
<div align="center"> 
    <form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"> 
    <?php echo solvemedia_get_html("My-C-Key"); //outputs the widget ?><br /> 
    <input id="submit" name="submit" type="submit" value="Submit"> 
    </form> 
    <?php echo $errCaptcha;?> 
</div> 
</div> 

<div id="3" style="display:none;"><h1>Step3</h1></div> 

Es tut mir leid, wenn ich hier einen dummen Fehler mache. Ich bin neu in der Codierung. Bitte hilf mir.

+0

Wer kann mir helfen? – user1928108

+0

Ich glaube, die Seite wird gerade neu geladen, wenn Sie das Captcha übergeben, und somit wird div1 erneut angezeigt. Wenn Sie der Eingabe einen benutzerdefinierten Übergabe-Handler geben möchten, können Sie das mit z. jQuery https://api.jquery.com/submit/. Um das erneute Laden der Seite zu verhindern, denken Sie daran, e.preventDefault() in Ihrem Übermittlungshandler wie in den Dokumenten zu speichern. – Juuso

+0

@JuusoLappalainen Vielen Dank. Aber ich bin neu, wenn es nicht zu viel verlangt ist, kannst du mir sagen, wie ich es etwas genauer bearbeiten soll. Das würde sehr geschätzt werden. – user1928108

Antwort

0

dies versuchen .....

<?php 
    require_once("solvemedialib.php"); 
    $privkey="My_Private_key"; 
    $hashkey="My_Hash_key"; 
    $solvemedia_response = solvemedia_check_answer($privkey, 
                $_SERVER["REMOTE_ADDR"], 
                $_POST["adcopy_challenge"], 
                $_POST["adcopy_response"], 
                $hashkey); 
    if (!$solvemedia_response->is_valid) { 
    $errCaptcha = '<div class="alert">Please enter the Captcha!</div><br />'; 
    } else { 
    ?> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
     $("#3").css('display', 'block'); 
     $("#1").css('display', 'none'); 
     $("div#2").css('display', 'none'); 
     }); 
    </script> 
    <?php 
    } 

    $genderErr = $gender = ""; 
    if ($_SERVER["REQUEST_METHOD"] == "POST") { 
    if (empty($_POST["gender"])) { 
     $genderErr = "<div class='alert'>Please select a gender.</div>"; 
    } else { 
     ?> 
     <script type="text/javascript"> 
     $(document).ready(function(){ 
      $("#2").css('display', 'block'); 
      $("#3").css('display', 'none'); 
      $("div#1").css('display', 'none'); 
     }); 
     </script> 
     <?php 
    } 
    } 
?> 

<div id="1"> 
    <h1>Step 1: Choose your gender</h1> 
    <div> 
     <form id="genderform" action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"> 
     <input type="radio" name="gender" value="male" <?php if (isset($gender) && $gender=="male");?>>Male<br /> 
     <input type="radio" name="gender" value="female" <?php if (isset($gender) && $gender=="female");?>>Female<br /> 
     <input form="genderform" id="submit" name="submit" type="submit" value="Submit"> 
     <?php echo $genderErr;?> 
     </form> 
    </div> 
</div> 

<div id="2" style="display:none"> 
    <h1>Step 2: Enter captcha to verify you are not a bot!</h1> 
    <div align="center"> 
    <form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"> 
     <?php echo solvemedia_get_html("My-C-Key"); //outputs the widget ?><br /> 
     <input id="submit" name="submit" type="submit" value="Submit"> 
    </form> 
    <?php echo $errCaptcha;?> 
    </div> 
</div> 

<div id="3" style="display:none;"><h1>Step3</h1></div> 

EDIT Versuchen Sie, diese

<?php 
    require_once("solvemedialib.php"); 
    $privkey="My_Private_key"; 
    $hashkey="My_Hash_key"; 
    $solvemedia_response = solvemedia_check_answer($privkey, 
                $_SERVER["REMOTE_ADDR"], 
                $_POST["adcopy_challenge"], 
                $_POST["adcopy_response"], 
                $hashkey); 
    if (!$solvemedia_response->is_valid) { 
    $errCaptcha = '<div class="alert">Please enter the Captcha!</div><br />'; 
    } else { 
    ?> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
     $("#3").css('display', 'block'); 
     $("div#2").replaceWith($("#3")); 
     }); 
    </script> 
    <?php 
    } 

    $genderErr = $gender = ""; 
    if ($_SERVER["REQUEST_METHOD"] == "POST") { 
    if (empty($_POST["gender"])) { 
     $genderErr = "<div class='alert'>Please select a gender.</div>"; 
    } else { 
     ?> 
     <script type="text/javascript"> 
     $(document).ready(function(){ 
      $("#2").css('display', 'block'); 
      $("div#1").replaceWith($("#2")); 
     }); 
     </script> 
     <?php 
    } 
    } 
?> 
<?php if (!$solvemedia_response->is_valid && !isset($_POST["gender"])) { ?> 
<div id="1"> 
    <h1>Step 1: Choose your gender</h1> 
    <div> 
     <form id="genderform" action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"> 
     <input type="radio" name="gender" value="male" <?php if (isset($gender) && $gender=="male");?>>Male<br /> 
     <input type="radio" name="gender" value="female" <?php if (isset($gender) && $gender=="female");?>>Female<br /> 
     <input form="genderform" id="submit" name="submit" type="submit" value="Submit"> 
     <?php echo $genderErr;?> 
     </form> 
    </div> 
</div> 
<?php } ?> 

<?php if (!$solvemedia_response->is_valid && isset($_POST["gender"])) { ?> 
<div id="2" style="display:none"> 
    <h1>Step 2: Enter captcha to verify you are not a bot!</h1> 
    <div align="center"> 
    <form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post"> 
     <?php echo solvemedia_get_html("My-C-Key"); //outputs the widget ?><br /> 
     <input id="submit" name="submit" type="submit" value="Submit"> 
    </form> 
    <?php echo $errCaptcha;?> 
    </div> 
</div> 
<?php } ?> 
<?php if ($solvemedia_response->is_valid && !isset($_POST["gender"])) { ?> 
<div id="3" style="display:none;"><h1>Step3</h1></div> 
<?php } ?> 
+0

Danke für deine Zeit, aber das hat auch nicht funktioniert. es immer noch auf div1 zurück – user1928108

+0

versuchen, bearbeiteten Code jetzt – PriME

+0

Hat nicht funktioniert auch .. – user1928108

Verwandte Themen