document.write Problem

newwarrior

Erfahrenes Mitglied
HI,
ich brauch für mein Forum folgende Javascript Funktion. Wenn der User auf den Link klick URl einfügen, soll ein Javascript Fenster kommen promt, wo der User erst den URl ein gibt und dann den Namen des links.

also soll es später so ausssehn

[ url=http://...]Name des Links[ /url]

Nur ich habe nicht so den Plan wie ich es machen kann, dass er zwei hinternander Aufruft und dann auch noch an die richtige Stelle in der Textarear schreibt, also bei den Urls...

Könntet ihr mir da helfen?

PS: Also wie hier im Fourm
 
ich bin wahrscheinlich zu doof, ich finde diesen Tag immer noch nicht. Ich habe auch noch nie mit JS gearbeitet, könntest du das nicht hier einfach mal posten...
 
Hier ist so ein Skript:
Code:
<html>
<head>
<title>Test</title>
</head>
<body>
<form style="text-align:center;width:400px;">
<script type="text/javascript">
<!--

tags= ['IMG','URL','B','I','U','ETC....'];
emo = [':o)','=)','8-('];

function dm_edit(strTag,objEditor,blnTag)
{
    IE     = (document.selection) ? 1 : 0;
    DOM    = (objEditor.selectionStart || objEditor.selectionStart == '0') ? 1 : 0;
    NX     = (!IE && !DOM) ? 1 : 0;
    strTxt = false;
    
objEditor.focus();

if(DOM)
    {
        intStart = objEditor.selectionStart;
		intEnd = objEditor.selectionEnd;
    }
if(blnTag)
    {
        switch(strTag)
        {
            case 'IMG':
                if(str1 = prompt('Bildadresse', 'http://'))
                    {
                        str2   = prompt('Alternativtext', '');
                        strTxt = '[' + strTag + ((str2) ? '=' + str2 : '') + ']' + 
                                  str1 + '[\/' + strTag + ']';
                    }
                        break;
        
            case 'URL':
                if(str1 = prompt('Linkadresse', 'http://'))
                    {
                        str2   = prompt('Linktext', '');
                        strTxt = '[' + strTag + '=' + ((str2) ? str2 : str1) + ']' + 
                                  str1 + '[\/' + strTag + ']';
                    }
                        break;
            default:
                if(!NX)
                    {
                        str1 = (IE) ? document.selection.createRange().text 
                                    : strTxt=String(objEditor.value).substring(intStart,intEnd);
                        
                        if(str1 != '' || (str1 = prompt('[' + strTag + ']', '')))
                            {
                                strTxt = '[' + strTag + ']' + str1 + '[\/' + strTag + ']';
                            }
                    }
                else if(str1 = prompt('[' + strTag + ']', ''))
                    {
                        strTxt = '[' + strTag + ']' + str1 + '[\/' + strTag + ']';
                    }
        }
    }
else
    {
        strTxt = strTag;
    }
    
    if(strTxt)
        {
            if(IE)
                {
                    document.selection.createRange().text = strTxt;
                    document.selection.createRange().select();
                }
            else
                {
                    objEditor.value = (NX)
                        ? objEditor.value + strTxt
                        : (objEditor.value).substring(0, intStart) + strTxt + 
                          (objEditor.value).substring(intEnd, objEditor.value.length);
                    objEditor.focus();
                }
        }


}

for(t=0;t<tags.length;++t)
    {
        document.write('<input type="button"value="['+tags[t]+
                       ']"onclick="dm_edit(\''+tags[t]+'\',this.form.editor,1)">');
    }
document.write('<hr>');
for(e=0;e<emo.length;++e)
    {
        document.write('<input type="button"value="'+emo[e]+
                       '"onclick="dm_edit(\' '+emo[e]+' \',this.form.editor,0)">');
    }
//-->
</script>
<textarea name="editor"rows="8"cols="80"style="overflow:auto;width:400px"></textarea>
<input type="submit">
</form>
</body>
</html>


[Test]

.
 
deine Javascript teil ist ja ganz schön und gut reptiler
aber der link der enstehen soll, ensteht nicht. der Linkname steht dort, aber nicht als link sondern nur der name
 
mastermoul hat gesagt.:
deine Javascript teil ist ja ganz schön und gut reptiler
aber der link der enstehen soll, ensteht nicht. der Linkname steht dort, aber nicht als link sondern nur der name
Also bei mir funktioniert's wunderbar.

Wie gesagt, ist ein Beispiel dabei.
Hast Du das mal runtergeladen und probiert? Geht's da auch nicht? Wuerde mich eigentlich wundern?

@Sven:
Huch, das muss ich irgendwie versehentlich ignoriert haben.
 
Zurück