• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

captcha Bild neu laden bei javascript:history.back()

WEBI

Neues Mitglied
Hallo zusammen,

ich habe folgendes Problem:

Habe in einem Kontaktformular ein Captcha eingebaut (Kontakt.html) -> diese wird dann mittels <form> an (Kontakt.php) gesendet und ausgewertet. Ist dort ein Fehler vorhanden, habe ich einen javascript:history.back() Button eingebaut um wieder auf die (Kontakt.html) Seite zu gelangen.

Das Problem ist jetzt, dass kein neues Captcha auf der (Kontakt.html) Seite geladen wird, wenn ich auf den javascript:history.back() Button klicke der sich in der (Kontakt.php) befindet.

Was mir auch klar ist, nur weiß ich nicht wie ich das lösen kann, dass wenn ich auf den javascript:history.back() Button klicke, nur das Captcha der (Kontakt.html) Seite neu geladen wird.

Hab in der Suche schon gesucht aber nichts brauchbares gefunden.

Danke schon mal
 
Werbung:
Der Zurück-Button des Browsers ärgert viele Webseitenersteller. Der IE verhält sich da ja mitunter sehr merkwürdig.

Für dein Problemchen würde ich AJAX vorschlagen. Wenn die Seite geladen wird, könntest Du per AJAX das Bild laden, evtl. mit kurzer Verzögerung. Beim Zurück-Gehen sollte dann der Request neu gestartet werden. Wenn nicht, schau dir mal die AJAX-Funktionen von jQuery an.

Weitere Möglichkeit wäre auch eine entsprechende Konfiguration der Cache-Header-Angaben des Webservers. Aber das dürfte eher nur für den IE relevant sein.
 
vielen dank für deine Antwort threadi,

leider bin ich was ajax betrifft absoluter Neuling und hab des halb keine Ahnung wie ich das einbringen soll.

Meine Kontakt.html Seite sieht so aus:

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Kontakt</title>
<link href="style_general.css" rel="stylesheet" type="text/css" />
<style type="text/css">
</style>
<script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
<script src="SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
<link href="SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" />
<script language="JavaScript">
function reloadCaptcha() {
var capObj = document.getElementById('captcha');
if (capObj) {
capObj.src = capObj.src +
(capObj.src.indexOf('?') > -1 ? '&' : '?') + Math.random();     } } </script>
</head>
<body>
<div id="headarea"><img src="Bilder/Logo__LJ.jpg" alt="Schriftzug_LJ" name="Schriftzug_LJ" width="800" height="200" align="absmiddle" id="Schriftzug_LJ" style="background-color: #9900CC" />
  <div id="mainarea">
<h1>Kontakt</h1><H2>Hier kannst du mit uns direkt Kontakt aufnehmen. Egal ob es sich um eine Frage, Anregungen oder Mitgliedschaft handelt. Einfach Formular vollst&auml;ndig ausf&uuml;llen und wir melden uns bei dir ;-)
</H2>
<center>
  <form action="http://testlandjugend.te.funpic.de/Kontakt.php" method="post">
  <table border="1" class="cms"> 
         <tr> 
               <td class="topic"><font color="#000000">Vorname</font></td> 
               <td><input type="text" class="field" name="vorname" size="53"/></td> 
        </tr> 
  	    <tr> 
               <td class="topic"><font color="#000000">Nachname</font></td> 
               <td><input type="text" class="field" name="nachname" size="53"/></td> 
        </tr>
            <tr>
               <td class="topic"><font color="#000000">E-Mail</font></td> 
               <td><input type="text" class="field" name="email" size="53"/></td> 
            </tr>
            <tr> 
               <td class="topic" valign="top"><font color="#000000">Nachricht</font></td> 
               <td><textarea cols="50" rows="10" name="nachricht" class="field"></textarea></td> 
            </tr> 
      </table>
<br />
Bitte Code in Textfeld eingeben (Spamschutz) &nbsp; <img src="captcha/captcha.php" border="0" title="Sicherheitscode" id="captcha">&nbsp; &nbsp;<a href="javascript:void(0)" onClick="reloadCaptcha()">captcha neu erzeugen</a> &nbsp;
  <input type="text" name="sicherheitscode" size="5">&nbsp;
         <p><input type="submit" value="Ab die Post ..." class="field"/>
  </form>

ich denke das sollte der wichtige Teil sein.

Vielleicht kannst du / ihr mir sagen wo ich das Ajax genau einbauen müsste.

Danke schon mal
 
Werbung:
Um gib den Abschnitt

HTML:
Bitte Code in Textfeld eingeben (Spamschutz) &nbsp; <img src="captcha/captcha.php" border="0" title="Sicherheitscode" id="captcha">&nbsp; &nbsp;<a href="javascript:void(0)" onClick="reloadCaptcha()">captcha neu erzeugen</a> &nbsp;

mit einem Element, welches eine eineindeutige ID hat, z.B.

HTML:
<p id="captcha">Bitte Code in Textfeld eingeben (Spamschutz) &nbsp; <img src="captcha/captcha.php" border="0" title="Sicherheitscode" id="captcha">&nbsp; &nbsp;<a href="javascript:void(0)" onClick="reloadCaptcha()">captcha neu erzeugen</a></p>

Dann kannst Du auf Basis von einer von vielen Anleitungen, z.B. der hier:

jQuery – ein mächtiges und effizientes Werkzeug | Ajaxschmiede.de

einen AJAX-Request mittels jQuery erstellen.

Tipp: machs erstmal mit einem kleinen Hallo-Welt-Beispiel ;)
 
Zurück
Oben