• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Datei (Pfad) in Formular einfügen!!!

Status
Für weitere Antworten geschlossen.

k60229

Neues Mitglied
Hallo!

Ich habe eine Seite zum eintragen von Daten in eine Datenbank erstellt. Nun möchte ich auch einen Pfad für eine Bilddatei hinzufügen. Das Problem ist:
Ich möchte im Formular einen Button zum klicken (//kein Problem), danach sollte sich ein Fenster öffnen, wo ich Bilder Hochladen kann, bzw. vom Server auswählen kann (das Fenster für das auswählen/Hochladen, kann ich in PHP machen). Nur wie bekomme ich den Pfad vom zweiten Fenster wieder in das erste?

Sollte so !!!ähnlich!!! funktionieren wie type="file" (nur für das Einfügen des Serverseitigen Pfads).


DANKE!!

mfg
Matthias
 
du könntest mit javascript den pfad "senden" an das andere fenster, oder die schönere Methode mit Ajax arbeiten und das neue Fenster nur durch ein Div "emulieren". Läuft beides aber darauf hinaus dass du JavaScript brauchst. Mit PHP alleine wirst du zumindest so, wie du es machen möchtest, nicht weit kommen.
 
Danke für die schnelle Antwort!

Ein wenig kenne ich mich mit Javascript aus. Könnt Ihr mir noch einen kleinen Tipp geben ,wie ich das mit JS senden kann.


mfg
Matthias
 
Ich würde dir da wirklich empfehlen Ajax zu nutzen (Asynchronous JavaScript and XML). Dadurch kannst du ein Div auf deiner Seite platzieren und die Andere Seite (die die Bilder einliest) nachträglich hineinladen. dann kannst du mit JavaScript ganz normal, weil du im selben dokument bist, den link in das input feld schreiben.

Google doch mal nach Ajax, wirst sicher was finden, ich mach mich derzeit an nen beispiel ran ^^

//Edit so hab dir mal nen mini-beispiel gemacht:
PHP:
<?php 
//hier kommt eigentlich kein php hin, 
//kommt drauf an was sonst noch in der datei ist 
?>
<html>
<head>
<title>Beispiel</title>
<script type="text/javascript">
<!--
var xmlHttp = false;
try {
    xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
    try {
        xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
    } catch(e) {
        xmlHttp  = false;
    }
}
if (!xmlHttp  && typeof XMLHttpRequest != 'undefined') {
    xmlHttp = new XMLHttpRequest();
}
function loadw() {
  document.getElementById("w").style.display = 'block';
 if (xmlHttp) {
     xmlHttp.open('GET', 'bilder.php', true);
     xmlHttp.onreadystatechange = function () {
         if (xmlHttp.readyState == 4) {
             document.getElementById("w").innerHTML = xmlHttp.responseText
             document.getElementById("w").innerHTML += "<br><button onClick='closew()'>schließen</button>";
         }
     };
     xmlHttp.send(null);
 }
}
function closew() {
  document.getElementById('w').style.display = 'none'
}
-->
</script>
</head>
<body>
<form action="irgendwo.php" method="POST">
 <input type="text" value="" name="pfad" id="pfad" />
 <input type="button" name="x" value="Durchsuchen" onclick="loadw()" />
</form>
<div style="display:none;position:absolute;left:100;top:150;
border:1px solid red;background-color:darkyellow;
width:400px;height:300px;padding:5px;overflow:auto;" 
id="w"></div>
</body>
</html>
nun brauchst du noch die Datei bilder.php in der die links mit javascript stehen:
PHP:
<?php
//hier würdest du mit php den server auslesen
//und die bilder-links generieren
//diese müssen so aussehen um 
//bei diesem Beispiel zu funktionieren:
?>
<a href="javascript:document.getElementById('pfad').value='dein/pfad/zum/bild/bla.jpg'">Bild bla.jpg einbinden</a>

Da die bilder.php in die datei mit dem Formular geladen wird kannst du davon ausgehen, dass du direkt schon in der datei bist.
Deshalb kann document.getElementById('pfad').value auch auf das input feld zugreifen, obwohl es EIGENTLICH in einer anderen Datei liegt. Versteht man bestimmt nicht gleich beim ersten mal ^^
 
Zuletzt bearbeitet:
Hallo,
mit:

PHP:
<a href="javascript:document.getElementById('pfad').value='dein/pfad/zum/bild/bla.jpg'" >Bild bla.jpg einbinden</a>

hats nicht funktioniert

aber mit:

PHP:
<a onclick="javascript:document.getElementById('pfad').value='dein/pfad/zum/bild/bla.jpg'" >Bild bla.jpg einbinden</a>
schon.

Kannst du mir bitte noch erklären wie das mit "javascript:document.getElementById('pfad').value='dein/pfad/zum/bild/bla.jpg'" funktioniert, dass das dann in das Formular "<input type="text" value="" name="pfad" id="pfad" />" eingefügt wird.

Danke!!

mfg
Matthias
 
in meinem beispiel hat das input feld eine id, diese lautet "pfad" definiert durch das id-Attribut.

jetzt mit javascript

document = das input liegt in deinem Dokument
getElementById('pfad') = das Element mit der ID "pfad" auswählen
value = Wert des Elementes

ergibt

document.getElementById('pfad').value

value des elementes der id 'pfad' im Dokument. So kannst du das Input feld ansprechen

document.getElementById('pfad').value = "das steht im input-tag"

mit dem = kannst du dann etwas hineinschreiben (den inhalt gleichsetzen mit)

d.h.

Code:
document.getElementById('die id des elementes').value = 'das was drinstehen soll'
 
Hallo,

ich habe noch ein kleines Problem. Wie mache ich das, wenn ich den Inhalt dieses divs verändern möchte zb. mit einem link, das dann der div nicht verschwindet?


mfg
Matthias
 
öh naja du darfst den link nicht als link direkt aufrufen sondern musst damit eine ajax funktion aufrufen die die andere seite reinlädt
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben