Senden input-Werte aus dem Hauptfenster, um fancybox iframe korrekt
Ich Frage mich, wenn mir jemand helfen könnte. Ich habe eine einfache
plugin für WordPress mit php. Es ist eine Galerie, die dem Benutzer ermöglicht
Bildunterschriften hinzufügen und benutzerdefinierte Felder für die Bilder.. Die Formen sind
angezeigt mit einer Fancybox, das geöffnet wird, indem Sie auf die Eingabe-
Knöpfe...
Die Bearbeiten-Funktion sieht wie folgt aus:
$(".edit").click(function() {
var formData = $(this).closest('form').serializeArray();
formData.push({ name: this.name, value: this.value }); //this is
to get the submit-buttons value
$.fancybox.showActivity();
$.ajax({
type : "POST",
cache : false,
url : "<?php echo plugins_url(); ?>/upload/
editImageForm.php",
data : formData,
success: function(data) {
$.fancybox(data);
}
});
return false;
});
Da das Bearbeiten-Formular muss "imageID" zu Bearbeiten, der rechten Bild-
Informationen, die ich derzeit senden Sie es durch ein verstecktes Feld.
Mein problem ist, dass ich will das Bearbeiten-Formular angezeigt werden, innerhalb einer
Iframe, so dass bei Einreichung der edit-form-form- - Aktion-Seite
erscheint innerhalb des iframe. Derzeit ist der form-action-Seite lädt in der
Haupt-Fenster.. und die Ausfahrt aus dem wordpress-admin-Bereich.. Wie benutze ich einen
iframe für das Edit-Formular, und wie sende ich die Eingabe von Werten aus einem Formular
im Hauptfenster, um die fancybox-iframe (mit dem Bearbeiten-Formular
im inneren)?
Den HTML-Code für das Formular, öffnet sich die fancybox sieht aus wie, diese, diese, erscheint neben jedem Bild in der übersicht Seite:
<form method='post' action='' class="imageform">
<input type='submit' value='Edit' name='edit' class="edit imageButton" />
<input type='submit' value='Delete' name='delete' class="delete imageButton" onClick="return delete('<?php echo $image->name; ?>', '<?php echo $image->id; ?>')"/>
<input name='imageID' type='hidden' value='<?php echo $image->id; ?>' class="imageID" />
<input name='imageNavn' type='hidden' value='<?php echo $image->name; ?>' class="imageNavn" />
</form>
(Die löschen-Funktion auf den löschen-button nur angezeigt, bestätigen-box in javascript, zu Fragen, ob der Benutzer sicher sind, dass er/Sie will, um das Bild zu löschen..)
Dem Bild Hinzufügen-form ist ein wenig einfacher funktioniert, wie es soll, und das iframe
korrekt angezeigt:
$("#upload").click(function() {
$.fancybox.showActivity();
$.fancybox({
'type' : 'iframe',
'width' : '50%',
'height' : '75%',
'href' : '<?php echo plugins_url(); ?>/upload/
addImage.php'
});
});
Ich hoffe, Sie verstehen mein problem und können mir helfen 😉
Vielen Dank im Voraus!
InformationsquelleAutor guzh | 2011-01-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vermeiden Sie die Verwendung von iframe becase seiner nicht, Sie sind ein Schmerz in der (...) anstatt also nur verwenden, ajax und json, wenn möglich bessere Ergebnis.
warum?
wenn Sie wirklich brauchen, um zu arbeiten mit iframes sowie
$('iframe').attr('src',url);
wird, ändern Sie den iframe-url. Eine andere Möglichkeit ist die Verwendung der<a target="frame_name">
wenn<iframe name="frame_name">
Dann auf den iframe, die Sie verwenden müssen
top.window
oderwindow.top
auch nicht sicher 🙂 aber es wird top-most-Fensters auf dom und verwendenself.window
zu beziehen iframe.hoffe das hilft einigen, wie
InformationsquelleAutor Val
Scheint es nicht zu werden Weg, um den Namen des iframe, die erstellt wird.
Hier ist der code, der generiert fancybox iframe und wie es sich zeigt, es braucht nur die aktuelle Zeit zu machen erstellt iframes einzigartig.
Werde ich haben, um zu schreiben-patch (wahrscheinlich triviale) fancybox, um unser system zu unterstützen. Hoffe, dass jemand tut das gleiche mit fancybox-Magistrale.
Ich brauchte die Funktion, weil ich das Datei-upload-in fancybox und Selenium Testumgebung muss wissen, iframe name bewegen zu können, um Fenster und der Eingabe-test Daten automatisch.
InformationsquelleAutor Mikael Lepistö