Iframe Inhalt nach einem Submit

Rios

Erfahrenes Mitglied
Hi,

Ich hab folgendes Problem:

Auf einer html Seite habe ich ein Formular in einem Iframe, dass ich per Javascript automatisch abschicke (an ein externes script). In diesem Iframe krieg ich dann die Meldung "File xxx created".
Ich möchte also, nachdem diese Antwort gekommen ist, irgendeine Art von Nachricht ausgeben.

Hier mal der Beispielcode:

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
	<title>Untitled</title>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
 function doSubmit()
 {
      window.frames.ob10_frame.document.forms[0].submit();
 }
//-->
</SCRIPT>
</head>
<body onload="doSubmit()">
<iframe id="ob10_frame" src="iframe_test.htm" width="100%" height="50%">
</iframe>
</body>
</html>

iframe_test.htm: (datei im iframe)

HTML:
<html>
<head>
<title>OB10 Post Gateway
</title>
</head>
<body>

	<font face="Tahome,Arial,Helvetica">
	<h1>OB10 POST Gateway</h1>
	<p>Enter credentials, enter data and press Submit
	<form action="https://connector2.ob10.com/AAAPOSTTEST/post.asp" method="Post">

	<table border="0">
	<tr>
	<td>OB10 Number:<td><input name="OB10Number" size="40" value="AAAPOSTTEST"><br>
	</tr>
	<tr>
	<td>Username:<td><input name="Username" size="40" value="posttest"><br>
	</tr>
	<tr>
	<td>Password:<td><input type="password" name="Password" size="40" value="posttest"><br>
	</tr>
	<tr>
	<td>Data:<td><textarea name="Contents" cols="40" rows="10"></textarea><br />
	</tr>
	<tr>
	<td><td><input type="submit" value="Submit">
	</table>
	</p>
	</form>
	</font>
</body>
</html>

Der Inhalt des Iframes wird also nach abschicken des Formulars verändert, das src Attribut bleibt aber gleich.
Gibt es irgendeine Möglichkeit zu checken, ob sich der html-Inhalt des iframes verändert hat?
 
Gebe den gewünschten Text in "https://connector2.ob10.com/AAAPOSTTEST/post.asp" aus, sofern diese Seite die erwarteten Post-Daten erhalten hat.... jene Seite ist es, die nach dem Senden in dem iFrame erscheint.
 
Das genau ist leider das Problem... Diese asp Datei ist von einer anderen Firma, die kann ich nicht beeinflussen. Ich krieg nur die Antwort von denen zurück.
 
Ahso... das ginge bspw.so:
Code:
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"> 
<!-- 
function schreibRein()
{
    window.ob10_frame.document.open(); 
    window.ob10_frame.document.write('dein Text'); 
    window.ob10_frame.document.close(); 
}
function doSubmit() 
{ 
    window.ob10_frame.document.forms[0].submit(); 
    setTimeout('schreibRein()',3000);
} 
//--> 
</SCRIPT>
beachte aber... wenn du deine iFrame nicht nur im IE korrekt ansprechen willst, muss es den Namen "ob10_frame" besitzen... nicht die ID.

Anderes Problem... auf diese Art kannst du nicht sicher sein, dass das Formular gesendet wird.
Bei mir kommt bspw. bei https://connector2.ob10.com eine Meldung wegen eines ungültigen Zertifikats.
Bevor ich diese weggeklickt habe, ist das Formular schon überschrieben.

Workaround: Baue in die Seite ein verstecktes iFrame ein, und sende das Formular dorthin:
Code:
<formular target="nameDesVerstecktenIframes">
 
Hi Sven,

Das mit dem Zertifikat ist kein Problem, das kommt wegen dem ssl link (https, meine Firma hat ein Zertifikat dafür).

Zu dem code: Soweit ich das sehe überschreibt die funktion schreibRein() den Inhalt des iframes nach 3 Sekunden. Was ist aber wenn die Übermittlung länger als 3 Sekunden dauert und z.b. nach 10 Sekunden irgend ein Fehler passiert?
 
Hmm, aber das würde in dem fall eine Fehlermeldung im versteckten iframe bringen, im sichtbaren würde trotzdem stehen, dass es erfolgreich war o.ä..

Oder seh ich das falsch?
 
Das siehst du richtig. Was auf der Seite der anderen Firma wirklich passiert... das lässt sich mit Javascript nicht ermitteln.
 
Zurück