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.
Wer kann mir helfen? – user1928108
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
@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