Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > de.comp.lang.javascript > #4846
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Newsgroups | de.comp.lang.javascript |
| Subject | Re: JS Variable von einem Teil zum nächsten übergeben? |
| Date | 2017-01-11 18:09 +0100 |
| Organization | PointedEars Software (PES) |
| Message-ID | <3162464.R56niFO833@PointedEars.de> (permalink) |
| References | (2 earlier) <o523rr$vtk$1@news.albasani.net> <11716715.uLZWGnKmhe@PointedEars.de> <o52g21$o01$1@news.albasani.net> <2879807.44csPzL39Z@PointedEars.de> <o55jvo$3eq$1@news.albasani.net> |
Jan Novak wrote:
> Am 10.01.2017 um 13:57 schrieb Thomas 'PointedEars' Lahn:
>> […]
>
> Ich habe jetzt folgenden JS Code:
OK. Bitte aber keine Tab-Zeichen verwenden, die sind überall
unterschiedlich breit, verschwenden im Normalfall Platz (8 Leerzeichen),
und mein derzeitiger Newsreader entfernt sie leider am Zeilenanfang.
Zwei Leerzeichen sind (nicht nur im Usenet, ausser bei Python) optimal
für eine Einrückung von Quelltext.
Nachfolgend korrigiert; auch so, dass es trotz Zeilenumbruch keinen
Syntaxfehler gibt.
> <script>
> var img = document.createElement("img");
> /* Initiale Datei für die 1. Anzeige */
> img.src =
> "http://localhost/archiv/upload/pdf_f7f3ffc6793915dbb6cfa17acab4cb7a.pdf";
Ein Schritt in die richtige Richtung. Aber *nur* zur Speicherung des URIs
brauchst Du kein img-Elementobjekt zu erzeugen. Zumal es sich hier nicht
einmal um eine Grafik handelt.
> //change Funktion der DropDown Liste
> $("select[name='fileNames']").change(function () {
> var fileId = $(this).val();
> var token = $("input[name='_token']").val();
> $.ajax({
> url: "<?php echo route('select-ajax') ?>",
> type: 'POST',
> data: {fileId: fileId, _token: token},
> success: function (data) {
> /* gibt "http://localhost/archiv/upload/test.pdf" zurück */
> img.src = data;
> console.log(img);
> }
> });
> });
>
> /* funktioniert nur initial, nicht beim Wechsel eines Eintrages
> der DropDown Liste */
> $("#filedata").fileinput({
> initialPreview: img.src,
Siehe oben: Hier weist Du der Eigenschaft nur einen String zu. Es wird so
_nicht_ ein Bild an das Plugin gebunden (das brauchst Du aber auch nicht).
> // […]
> initialPreviewAsData: true,
> initialPreviewConfig: [
> {type: "pdf", size: 123456}
> ]
> });
> </script>
>
>
> Ich initialisiere oben das img Object mit einer PDF, damit zu
> Testzwecken irgendetwas zu sehen ist. Beim Wechsel eines Elementes aus
> der DropDown Liste wird korrekt in der Konsole geloggt, dass eine neue
> URL in das img Object geschrieben wurde, jedoch wird es im Browser vom
> Plugin nicht angezeigt (aktualisiert).
> Fehlt mir hier nur eine neue "load" Eigenschaft?
Nein, sieht nicht so aus, als ob das Plugin das unterstützt.
Wenn Du aber die Initialisierung in den success-Handler kopierst (meine
ursprüngliche Idee), könnte es funktionieren:
$.ajax({
// …
success: function (data) {
$("#filedata").fileinput({
initialPreview: data,
// […]
initialPreviewAsData: true,
initialPreviewConfig: [
{type: "pdf", size: 123456}
]
});
}
});
Falls das funktioniert (und keine offensichtlich negativen Effekte hat),
solltest Du die Initialisierung in eine Methode auslagern, der Du jeweils
nur den Wert für die initialPreview-Eigenschaft übergibst (DRY).
>> input.onchange = function (event) {
>> var reader = new FileReader();
>>
>> reader.onload = function (event) {
>> img.src = event.target.result;
>> };
>>
>> reader.readAsDataURL(event.target.files[0]);
>> };
>
> Muss ich mich in meinem Code darum kümmern? (und wenn ja, wie?)
Wenn Du das Plugin verwendest, brauchst Du diesen Code nicht, denn das
Plugin enthält ihn im wesentlichen und erledigt das.
--
PointedEars
FAQ: <http://PointedEars.de/faq> | <http://PointedEars.de/es-matrix>
<https://github.com/PointedEars> | <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.
Back to de.comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar
JS Variable von einem Teil zum nächsten übergeben? Jan Novak <repcom@gmail.com> - 2017-01-09 08:53 +0100
Re: JS Variable von einem Teil zum nächsten übergeben? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-09 20:44 +0100
Re: JS Variable von einem Teil zum nächsten übergeben? Jan Novak <repcom@gmail.com> - 2017-01-10 08:52 +0100
Re: JS Variable von einem Teil zum nächsten übergeben? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-10 11:11 +0100
Re: JS Variable von einem Teil zum nächsten übergeben? Jan Novak <repcom@gmail.com> - 2017-01-10 12:20 +0100
Re: JS Variable von einem Teil zum nächsten übergeben? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-10 13:57 +0100
Re: JS Variable von einem Teil zum nächsten übergeben? Jan Novak <repcom@gmail.com> - 2017-01-11 10:50 +0100
Re: JS Variable von einem Teil zum nächsten übergeben? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-11 14:08 +0100
Re: JS Variable von einem Teil zum nächsten übergeben? Jan Novak <repcom@gmail.com> - 2017-01-11 14:31 +0100
Re: JS Variable von einem Teil zum nächsten übergeben? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-11 15:34 +0100
Re: JS Variable von einem Teil zum nächsten übergeben? Jan Novak <repcom@gmail.com> - 2017-01-11 16:46 +0100
Re: JS Variable von einem Teil zum nächsten übergeben? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2017-01-11 18:09 +0100
Re: JS Variable von einem Teil zum nächsten übergeben? Jan Novak <repcom@gmail.com> - 2017-01-12 10:18 +0100
csiph-web