Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

<img src=""> Tags erzeugen und füllen

Diskussion: <img src=""> Tags erzeugen und füllen im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo HaBo, ich bin zurzeit dran ein kleinen Multiuploader zu Programmieren und dann passenden BBCode auszugeben. Hab es jetzt ...

Like Tree1Likes
  • 1 Post By she3p

Antwort
Alt 19.06.11, 21:10   #1 (permalink)
Senior Member
 
Benutzerbild von Chakky
 
Registriert seit: 28.10.03
Chakky Leistung: 8086
Chakky eine Nachricht über ICQ schicken
Likes: 110
erledigt <img src=""> Tags erzeugen und füllen

Anzeige

Hallo HaBo,

ich bin zurzeit dran ein kleinen Multiuploader zu Programmieren und dann passenden BBCode auszugeben.

Hab es jetzt soweit geschafft, das es wirklich ein Multiuploader ist und der BBCOde in eine Textarea ausgegebn wird. Jetzt wollte ich gerne noch mit Javascript eine kleine Gallery der hochgeladen Bilder anzeigen lassen.

Habe mir gedacht ich kann "einfach" ein

Code:
<img src="pfad">
tag erstellen und dort mein Pfad reinhauen.

Nur mir fehlt jeglicher ansatz in die Richtung.

Mein bissheriger code

PHP-Code:
<?php $host "http://localhost/imagescript";?>
<html>
    <head>
        <link href="uploadify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript" src="jquery.uploadify.v2.1.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
  $('#file_upload').uploadify({
    'uploader'  : 'uploadify.swf',
    'script'    : 'uploadIfy.php',
    'cancelImg' : 'cancel.png',
    'folder'    : '/uploads/',
    'auto'      : false,
    'removeComplete' : false,
    'multi'     : true,
   'onComplete': function(event, queueID, fileObj, response, data){
            var form = document.forms['ImageAddForm'];
            document.getElementById("ta").value +="[URL=<?php echo $host;?>/uploads/";
            
             document.getElementById("ta").value +=fileObj.name;
             document.getElementById("ta").value +="][IMG]<?php echo $host;?>/uploads/thumb/";
             document.getElementById("ta").value +=fileObj.name;
              document.getElementById("ta").value +="[/IMG][/URL]"
         document.getElementById("ta").value +="\n";
        
          
          }
  });
});
</script>
    </head>
    <body>
        <form name="form1" action="upload.php" method="POST">
<input id="file_upload" name="file_upload" type="file" />

        </form>
<a href="javascript:$('#file_upload').uploadifyUpload();">Upload Files</a>

<form name="ImageAddForm" action="upload.php" method="POST">
 
    <textarea id="ta"></textarea>
</form>

    </body>

</head>
es spielt vor allem folgende Zeilen die rolle:
Code:
'onComplete': function(event, queueID, fileObj, response, data){
            var form = document.forms['ImageAddForm'];
            document.getElementById("ta").value +="[IMG]<?php echo $host;?>/uploads/thumb/";
             document.getElementById("ta").value +=fileObj.name;
              document.getElementById("ta").value +="[/IMG]"
	     document.getElementById("ta").value +="\n";
Damit füll ich mein Textarea mit meinen BBCode. Nun wollte ich in diesem bereich auch die Gallery erzeugen lassen nur wie? Kann mir jemand einen ansatz geben? Ich hab diverse Codesnippest versucht u.a. den:
Code:
var img=document.createElement("IMG");
		img.scr="home.gif";
aber irgendwie geht das nicht.

mein zweiterversuch war:
Code:
 document.writeln('<img src="/uploads/fileObj.name">');
aber das zerhaut mir nur meine ganze seite und versucht dann ein fehlerhaftes bild zu laden :/


Da ich von Javascript garkein Plan habe, könnte mir da jemand einen Ansatz zeigen? Danke
__________________
cu
Chakky

we are dreaming in digital
we are living in realtime
we are thinking in binary
we are talking in IP
welcome to our world

Geändert von Chakky (23.06.11 um 08:32 Uhr)
Chakky ist offline   Mit Zitat antworten
Alt 19.06.11, 22:16   #2 (permalink)
Member of Honour
 
Benutzerbild von Brabax
 
Registriert seit: 04.10.01
Brabax Leistung: 8086Brabax Leistung: 8086
Brabax eine Nachricht über ICQ schicken
Likes: 42
Standard

Ich hab mir mit Inputs mal so geholfen:

Code:
<script type="text/javascript">
<!--
      var AnzahlZellen = 1;
      ZellenBelegung = new Array(20);

      var tmpCounter = 0;
      while(tmpCounter < 20)
             {
                    ZellenBelegung[tmpCounter] = 0;
                    tmpCounter += 1;
             }

       function neueZelle()
              {
                    if(AnzahlZellen <= 20)
                          {
                                 var Zelle = 0;
                                 tmpCounter = 0;

                                 while(tmpCounter < 20)
                                        {
                                                 if(ZellenBelegung[tmpCounter] == 0)
                                                        {
                                                               ZellenBelegung[tmpCounter] = 1;
                                                               Zelle = tmpCounter;
                                                               break;
                                                        }
                                                  tmpCounter += 1;
                                        }

                                document.getElementById('bilderform').innerHTML =        document.getElementById('bilderform').innerHTML + "<span id=\"new_pic_" + Zelle + "\"><input type=\"file\" name=\"pic[]\"> <span onClick=\"removeCell(" + Zelle + ")\">Bild entfernen</span><br></span>";
                                 AnzahlZellen += 1;
                       }
             }
-->
</script>
...
<script type="text/javascript">
<!--
      function removeCell(cell_index)
            {                                                           document.getElementById("bilderform").removeChild(document.getElementById("new_pic_" + cell_index))
                  AnzahlZellen -= 1;
                  ZellenBelegung[cell_index] = 0;
            }
-->
</script>

<span id="bilderform" style="cursor: pointer;"  ></span>
__________________

<< Wir leben bereits im morgigen Gestern, doch vom gestrigen Morgen sind wir noch weit entfernt. >>

<< Träume sind Schäume. Es liegt an dir ob du sie lebst oder ein Schaumschläger bist! >>

<< Erst wenn man beginnt zu implizieren, wird man merken, dass einem sowieso keiner richtig zuhört. >>
Brabax ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 20.06.11, 08:16   #3 (permalink)
 
Benutzerbild von she3p
 
Registriert seit: 07.05.07
she3p Leistung: 8086
Likes: 19
Standard

jQuery, wunderbar!

Ungetestet:
Code:
$('<img />').attr('src', imagesource);
Dieses Objekt kannst du dann per .append() oder ähnlichen Methoden in den DOMTree hängen.

Ehrm ich seh gerade, du mischt hier natives JavaScript mit jQuery.. Schreiben wir das etwas um und verschönern das ein wenig:
Ungetestet:
Code:
'onComplete': function(event, queueID, fileObj, response, data)
{
    var form    = $('form[name="ImageAddForm"]');
    var ta        = $('#ta');
    
    // added a spacer to avoid bbcode matching on habo
    var ta_cont    =    "[URL =<?php echo $host;?>/uploads/" +
                        fileObj.name +
                        ][IMG]<?php echo $host;?>/uploads/thumb/" +
                        "[/IMG][/URL]" +
                        "\n";
                    
    ta.attr('value', ta_cont);
}
Ich behaupte mal, die jQuery-Dokumentation könnte dir gut weiterhelfen!

Nur so zur Info:

Zitat:
Code:
var img=document.createElement("IMG");
        img.scr="home.gif";
Das Attribut heisst src nicht scr! Wie hast du damit das Element in den DOMTree gehängt?

Zitat:
Code:
document.writeln('<img src="/uploads/fileObj.name">');
Tja damit schreibst du am Anfang des Dokumentes exakt diesen String hin. Wenn du willst, dass fileObj.name richtig ersetzt wird, musst du wie auch schon oben den String konkatinieren.

Code:
'<img src="' + fileObj.name + '" />';
Chakky likes this.
__________________

Geändert von she3p (20.06.11 um 09:31 Uhr)
she3p ist offline   Mit Zitat antworten
Alt 20.06.11, 20:46   #4 (permalink)
Senior Member
Themenstarter
 
Benutzerbild von Chakky
 
Registriert seit: 28.10.03
Chakky Leistung: 8086
Chakky eine Nachricht über ICQ schicken
Likes: 110
Standard

danke euch erstmal, morgen mit ausprobieren

ja das ist alles etwas naja sagen wir mal chaotisch da ich von JS garkeinen Plan habe und ich mir eigtl viel zusammenkopiert habe und nur rumprobiert habe

//edit

so hab das gerade mal ausprobiert, das mit den append() klappt super, muss ich mir unbedingt merken. Ein weitere positiver nebeneffekt, ich glaub ich werd mir mal JQuery und Ajax mal genauer anschauen das hat jetzt mein interesse geweckt
__________________
cu
Chakky

we are dreaming in digital
we are living in realtime
we are thinking in binary
we are talking in IP
welcome to our world

Geändert von Chakky (23.06.11 um 08:32 Uhr)
Chakky ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » JavaScript <img src=""> Tags erzeugen und füllen
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61