form button in der thickbox

rollerueckwaerts

Erfahrenes Mitglied
Hallo,
stehe vor nem kleinen Problem.
Ich zeige ein Formular in der thickbox an welches mit nem Submitbutton abgeschickt wird.
Um Links in der Thickbox zu öffnen muss man ja class="thickbox" in den <a href> tag schreiben, das geht auch supi, aber mit nem Submit button geht das ja nicht so einfach ..., oder ?

Brauch irgendwie nen kleenen Tipp

PHP:
   echo '<form action="index2.php?do=it" class="thickbox" method="post">';

Gibts ne Möglichkeit das Ziel des FormButtons in der thickbox zu öffnen ?

Lieben Dank schonmal fürs Lesen


Greetz
Tobi
 
Der Submitton war noch vom Popup übrig, bevor ich die thickbox entdeckt habe.
würdest du mir raten einfach alles einfach per url zu übergeben ?

Von JavaScript hab ich keen Plan :mad:

Hab aber auch weiterhin das Problem das ein reload der thickbox mit <meta> an der einen stelle funktioniert, an einer anderen jedoch nicht. Der Code aber definitiv gleich ist
PHP:
 ?>

<head>
<meta http-equiv="refresh" content="5" ; URL=<?php echo $mosConfiglive_site ;?>index2.php?option=com_vallet&task=waitformoney&uid=<?php echo $username; ?>&amount=<?php echo $amount ;?>&uname=<?php echo $username;?>/"></head>
<?php
 
Zuletzt bearbeitet:
naja ich habe es zumindest so gelöst:

<Button onclick="FensterOeffnen()">Fenster &ouml;ffnen</Button>


script:

function loadData()
{
if (xmlHttp) {
xmlHttp.open('POST', 'getpic.php', true);
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
document.getElementById("sig_vorschau").innerHTML =
xmlHttp.responseText;
}
};
xmlHttp.send(null);
}
}

function FensterOeffnen () {
setInterval("loadData()",5000);
window.open('','detail','width=400, height=300, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, status=no, resizable=yes, dependent=no');

}


wenn ich es richtig verstanden habe meinst du so etwas ansonsten bei einen Button kein href sondern onclick mousover etc.
 
Moin,

es geht auch mit Button ;)

Beispiel:
Code:
<script type="text/javascript">
<!--
function tb_sendform(f,c)
{
  f.action.match(/(\bkeepThis=(true|false)&TB_iframe=true.+$)/);
  tb_show(c, 'about:blank?'+RegExp.$1);
  f.target=$('#TB_iframeContent').attr('name')
  return true;
}
//-->
</script>
<form action="http://www.google.de/search?keepThis=true&TB_iframe=true&height=250&width=400" onsubmit="return tb_sendform(this,'Überschrift fürs iFrame')">
<input type="text" name="q"><input type="submit">
</form>
Der Ablauf sieht so aus:

Code:
  //Thickbox öffnen(erstmal mit leerer Datei als Inhalt)
tb_show(c, 'about:blank?'+RegExp.$1);
  //Zielfenster des Formulars in das Thickbox-Frame ändern
f.target=$('#TB_iframeContent').attr('name')
//fertsch...das Formular wird jetzt in die Thickbox gesendet :)
  return true;

Die nötigen Parameter fürs Formularziel sind dieselben wie in der Thickbox-Dokumentation die für das Linkziel bei dem "iframed content".
 
Nach ewigem Probieren und Suchen habe ich euren Thread hier gefunden und bin schonmal recht dankbar, dass ich jetzt mal nen ANhaltspunkt habe.
Allerdings bin ich nicht soo fit in JS. Nachvollziehen geht, selbst basteln hält sich meist arg in Grenzen, zumindest was Komplizierteres angeht.

Ich benötige im Prinzip die selbe Funktion, nur für die inline-Einbindung...

Auch wenn mir jemand nur gedankliche Unterstützung geben könnte, wäre das schon hilfreich...
 
Moin,

wie soll das denn ablaufen?

Willst du nur einen Button haben, oder sollen auch Formulardaten gesendet werden?
Falls auch etwas gesendet werden soll, dann würde das Dokument neu geladen werden....und die Thickbox ist weg? :confused:
 
*grins* ... joah, genau, die Formulardaten sollen natürlich gesendet und verarbeitet werden und letztendlich soll die seite quasi "wieder" so erscheinen, wie sie am Ausgangszeitpunkt war, also mit thickbox und dem Postergebnis, dass im selben div wieder angezeigt wird, im welchem zuvor das Formular saß.
Also letztendlich soll halt mit dem Formular ( action="<?= $_SEVER['REQUEST_URI']; ?>" ) die Seite mit der Thickbox wieder aufgerufen werden.

// Zur Info anbei...
Rein technisch wäre es wahrscheinlich sogar sinniger das von dort per AJAX zu übergeben und das Ergebnis direkt anzuzeigen. Allerdings muss ich gestehen, dass ich weder in Sachen JS, noch in AJAX fit genug bin, um meine Formularüberprüfung (php, welche vorhanden ist und funktioniert) dort so einbinden zu können und ggf. noch Veränderungen etc. zu erstellen zu können.
Normal verzichte ich eigentlich eher auf Funktionen, welche ich nicht komplett selbst geschrieben habe, um entsprechend mit umgehen zu können. Nur ist die Thickbox an den eingesetzten Stellen dort sehr sinnvoll und ich möchte doch so wenig Fremdcode einfügen wie möglich... Ich hoffe, ich hab den Hintergrund sinnig erläutert, weil ich eigentlich ungern andere Leute meine Arbeit machen lasse ;-) und nicht noch mehr Verwirrung gestiftet...

Gruß Patrick
 

Neue Beiträge

Zurück