redirect in javascript

bennihaag

Mitglied
Hallo,

ich habe ein Javascript in einem Formular.
In diesem Javascript ist ein Redirect-Aufruf. Ich möchte nun, dass sich mit dem Klick "Absenden" die Seite öffnet, die unter "Redirect" festgelegt ist. Bei mir kommt aber immer die Seite, die im Form-Tag unter "Action" eingetragen ist.

Das Problem ist, dass ich die Seite vom "Redirect"-Aufruf nicht in das "Action"-Kommando schreiben kann, weil das Javascript nicht unbedingt immer im Formular steht.

Eigentlich müsste ich nur irgendwie einen Befehl einbauen, dass mit dem Klicken "Absenden" die Seite von "Redirect" kommt, falls vorhanden, ansonsten eben die von "Action"

Hier sind Auzüge aus meiner Seite:

<html>
<head>
.
.
.
</head>
.
.
.
<FORM name=xxx Form onsubmit="return validateform()"
action=http://xxx.de/xxx/xxx/xxx method=post>

.
.
.

<SCRIPT language=javascript >
.
.
.
document.writeln('<input type="hidden" name="redirect"
value="'+url+'">');
.
.
.
</SCRIPT>

.
. //hier stehen alle Formularfelder
.

<INPUT type=submit value="Send order" name=absenden>
</FORM>
</HTML>
 
Hi,

ich muss gestehen, ich habe es nicht ausprobiert, aber es könnte so gehen:

- dem Formular zunächst keine Action zuweisen

- Zum Versenden einen Input vom Typ "Button" nehmen:
PHP:
<INPUT type=button value="Send order" name=absenden onClick=sendme()>
- Dazu eine Funktion:
PHP:
function sendme() {
  if (document.formname.redirect) {
    document.formname.action=document.formname.redirect.value;
  } else {
    document.formname.action="http://xxx.de/xxx/xxx/xxx";
  }
  document.formname.submit();
}

Gruß
 
Kommt drauf an.
Wenn du nur weiterleiten willst:
Code:
<script type="text/javascript">
<!--
function validateform(objForm)
{
if(typeof objForm.redirect=='object')
    {
    window.location=objForm.redirect.value;
    return false;
    }
return true;
}
//-->
</script>
Willst du aber, dass das Formular an die entsprechende Seite gesendet wird:
Code:
<script type="text/javascript">
<!--
function validateform(objForm)
{
if(typeof objForm.redirect=='object')
    {
    objForm.action=objForm.redirect.value;
    }
return true;
}
//-->
</script>

Aufruf in beiden Fällen per
Code:
<form onsubmit="return validateform(this)">
 
@ fatalus

@ fatalus:

Kommt drauf an. Wenn Du nur weiterleiten willst:

ich will eigentlich nur zu der "Redirect"-Seite weiterleiten, die Daten aus dem Formular/ den Formularfeldern sollen aber trotzdem dort gepeichert werden, wie es im Form-Tag definiert ist.
Die "Redirect"-Seite ist lediglich eine Seite, die eingefügt werden soll nach dem Klick "Absenden".
Es soll also sowohl das Formular funktionieren, als auch als Folgeseite die Seite aus dem "Redirect" kommen!


bennihaag
 
Hi,

Das soll kein PHP sein - ich habe nur PHP-Tags verwendet, damit der Code schön farbig angezgeigt wird;)

Gruß

EDIT:
Inhalt wegen Fehler rausgenommen
 
Zuletzt bearbeitet:
ich will eigentlich nur zu der "Redirect"-Seite weiterleiten, die Daten aus dem Formular/ den Formularfeldern sollen aber trotzdem dort gepeichert werden, wie es im Form-Tag definiert ist.
....eins von beiden geht nur(wenns im selben Fenster passieren soll).....Formular senden.....oder weiterleiten.

Wenn du PHP verfügbar hast, dann überprüfe die Eingaben damit....sende das Formular ganz normal...sind einige Eingaben nicht wunschgemäss, dann leite zu der "gewissen" Seite weiter...
 
Stimmt.

Denkfehler meinerseits: im selben Fenster kannst Du keine neue Seite öffnen und zugleich ein PHP-Script aufrufen.

Die beste Lösung wäre in der Tat, die Redirect-Seite von der PHP-Seite aufrufen zu lassen.
 
@ fatalus

@ fatalus


Ach so... du bringst mich auf was.

Kann man den Redirect-Aufruf auch in einer neuen Seite vornehmen - und die Formulardaten würden dennoch gespeichert werden?

Da hätte ich nichts dagegen, wenn es technisch machbar wäre? Aber wie

bennihaag
 

Neue Beiträge

Zurück