onSubmit PopUp bekommt keine Werte übergeben.

Crazy_down

Erfahrenes Mitglied
Hi, also falls das schon behanldet wurde, habe ich es mit der Suche bzw. meinen Suchwörtern nicht gefunden ;) Dann postet bitte einfach den Thread, danke.

Also ich versuche 2 Dinge.

1. Ich habe eine seite auf der einfach ein Eingabefeld ist
HTML:
echo "<form name='edit' method=post action'#' onSubmit='edit_ban()'>";
echo "<input type='text' name='edit_nr' maxlength='4' length='4'></input>";
echo "<input type='submit'></input></form>";
das PopUp
HTML:
<script language="JavaScript">
<!--
function edit_ban()
{
var Fenster = window.open("edit_complete.php","Edit_Ban","menubar=no,scrollbar=no,toolbar=no,titel=no,titelbar=no");
      Fenster.moveTo(0,0);
      Fenster.resizeTo(670,400);
}
//-->
</script>
Wenn ich da jetzt meine Nummer eintrage, geht das neue Fenster auf aber bekommt den Wert nicht mit Übergeben.

Die Zahl hole ich mir auf der neuen seite per $_Request.
Wenn ich action='edit_complete.php' mache funktioert diese Übergabe auch, nur in das PopUp nicht. Muss ich das irgendwie noch angeben wo es hin soll ? Und wie ?

2. Ich lasse mir ein paar Werte aus einer Datenbank ausgeben.
einfach mit
PHP:
echo "<td>$line[1]</td>";
nun möchte ich diese zu einem Link machen.
PHP:
echo "<td><a href='$line[1]'></a></td>";
Wie bekomme ich jetzt raus welcher Link angeklickt wurde ? Kann ich das Irgendwie weitergeben ?

danke schon mal
grüße
crazy_down
 
Hallo,

wie wäre es mit folgendem:
HTML:
<script language="JavaScript">
<!--
function edit_ban()
{
var url = "edit_complete.php?nr=" + document.getElementById("edit_nr").value;
var Fenster = window.open(url,"Edit_Ban","menubar=no,scrollbar=no,toolbar=no,titel=no,titelbar=no");
      Fenster.moveTo(0,0);
      Fenster.resizeTo(670,400);
}
//-->
</script>
Natürlich dem input noch eine id="edit_nr" zuweisen.

Edit:
Dann kannste das Form auch weglassen, so in etwa:
HTML:
echo "<input type='text' id='edit_nr' maxlength='4' length='4'></input>";
echo "<input type='button' onClick="edit_ban();"></input>";

Gruss,
MArc
 
Zuletzt bearbeitet:
Hi MArc,
Es funktioniert leider auch nicht. Das selbe problem, die Variable kommt nicht bei dem Fenster an. Ich dachte erst das es auf der neuen Seite nicht ankommt, aber es ist wirklich nur wenn man es in so einem fenster öffnen lässt. Normal mit einem Form etc. funktioniert es.
 
Ich würd die Empfhelen es in ein Form zu machen und dann so:

PHP:
echo "<form onSubmit='edit_ban(this);return false;'><input type='button'></input>";

Dann hast du in dem Script ein Tolles Objekt womit du auf alle inputfelder zugreifen kannst...

HTML:
<script language="JavaScript">
<!--
function edit_ban(obj)
{
var Fenster = window.open("edit_complete.php?edit="+obj.edit_nr.value,"Edit_Ban","menubar=no,scrollbar=no,toolbar=no,titel=no,titelbar=no");
      Fenster.moveTo(0,0);
      Fenster.resizeTo(670,400);
}
//-->
</script>

Ich finde so ist es ein wenig leichter zu handeln, und auch leichter zu erweitern. Aber ist deine Sache ,) Auf jeden Fall solltest du die Javascript Funktion dahingehend erweitern das die nummer als Get Parameter angehängt wird.
 
Vielen Dank für die Antworten, die Lösung von Michael Engel funktionierte leider auch nicht und jetzt schaue ich mir den Thread an von Bratkartoffel und versuche es so hin zu bekommen. Ich glaube ich Übersehe einfach nur was, denn so Schwer kann es ja nicht sein.

Edit: mit dem Target bekomme ich jetzt das ganze Formular in mein popup und zwar komplett. Und meine Ausgabe passiert da gar nicht ;)
 
Zuletzt bearbeitet:
So, jetzt habe ich es os gemacht.
PHP:
echo "<form action='edit_complete.php' onSubmit='edit_ban(this);'><input type='text' name='edit_nr'></input><input type='submit'></input>";

HTML:
<!--
function edit_ban(obj)
{
var Fenster = window.open("edit_complete.php?edit="+obj.edit_nr.value,"Edit_Ban","menubar=no,scrollbar=no,toolbar=no,titel=no,titelbar=no");
      Fenster.moveTo(0,0);
      Fenster.resizeTo(670,400);
}
//-->

Es passiert jetzt das das Popup auf geht und die seite geladen wird, deswegen der action='edit_complete.php' im popup fehlt der Wert, auf der Seite ist er da.

Edit: Ich muss das nochmal ändern ;) also wenn ich das action jetzt raus nehme passiert trotzdem das genannte, er läd das popup und die seite und auf der seite steht der Wert im popup nicht. Außerdem mit dem target=... übergibt er die komplette Seite. ich habe sie dann einfach neu in dem popup.
 
Zuletzt bearbeitet:
Ich könnte mir vorstellen das DOM Model zu dem zeitpunkt wo die Funktion ausgeführt wird nicht mehr richtig existiert und er deswegen keinen Wert übergibt.

Als erstes solltest du onSubmit='edit_ban(this);return false;' hinzufügen, damit er die Seite nicht neu läd sondern nur das Popup öffnet... sonst versteh ich den Sinn davon nicht wenn du es 2 mal öffnest.

Um das Open zu debuggen würd ich folgendes hinzufügen. Wenn hier die Werte schon nicht enthalten sind dann hast du nen schreibfehler in dem Inputfeld.

HTML:
function edit_ban(obj)
{
alert(obj);
alert(obj.edit_nr.value);
var Fenster = .....
}

Wenn der Wert hier angezeigt wird eben in der edit_complete.php
PHP:
var_dump($_GET);
selbst wenn er keinen Wert in der JS Funktion übergeben bekommt, muss die $_GET Variable zumindest Deklariert sein. Ansonsten stimmt der Quellcode den du hier schreibst nicht ,)
 

Neue Beiträge

Zurück