Fehler im Javascript
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
aufgerufen code
ausgeben
befehl
benennen
code
dank
fehler
grad
objekt
parameter
plan
setzen
suche
test
versuch
versuchen
verzweifeln
zeile
zusammenhang
zwischenergebnis
-
Ich habe folgendes Scripts:
<script type="text/javascript"> function makeit(tag1) { var class = document.getElementById('class').value; var name = document.getElementById('name').value; var id = document.getElementById('id').value; if(id != ''){insert('<'+tag1+'id=\''+id+' \'>', '</''+tag1+'>');} if(class != ''){insert('<'+tag1+'id=\''+id+' \'>', '</''+tag1+'>');} if(name != ''){insert('<'+tag1+'id=\''+id+' \'>', '</''+tag1+'>');} if(id == '' AND class == '' AND name == ''){insert('<'+tag1+'>', '</'+tag1+'>');} } </script> <script type="text/javascript"> <!-- function insert(aTag, eTag) { var input = document.forms['formular'].elements['eingabe']; input.focus(); /* für Internet Explorer */ if(typeof document.selection != 'undefined') { /* Einfügen des Formatierungscodes */ var range = document.selection.createRange(); var insText = range.text; range.text = aTag + insText + eTag; /* Anpassen der Cursorposition */ range = document.selection.createRange(); if (insText.length == 0) { range.move('character', -eTag.length); } else { range.moveStart('character', aTag.length + insText.length + eTag.length); } range.select(); } /* für neuere auf Gecko basierende Browser */ else if(typeof input.selectionStart != 'undefined') { /* Einfügen des Formatierungscodes */ var start = input.selectionStart; var end = input.selectionEnd; var insText = input.value.substring(start, end); input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end); /* Anpassen der Cursorposition */ var pos; if (insText.length == 0) { pos = start + aTag.length; } else { pos = start + aTag.length + insText.length + eTag.length; } input.selectionStart = pos; input.selectionEnd = pos; } /* für die übrigen Browser */ else { /* Abfrage der Einfügeposition */ var pos; var re = new RegExp('^[0-9]{0,3}$'); while(!re.test(pos)) { pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0"); } if(pos > input.value.length) { pos = input.value.length; } /* Einfügen des Formatierungscodes */ var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:"); input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos); } } //--> </script>
HTML-Code(bei buttonclick wird dann das Script aufgerufen)
<form name="formular" action=""> <input type="button" value="Kontainer" onClick="makeit('div');"> ID: <input type="Text" id="id" value="12" size="10"> Class: <input type="Text" id="class" value="12" size="10"> Name: <input type="Text" id="name" value="12" size="10"> </form>
Doch leider klappt das Obere nicht! Weiss einer wieso?? Bin grad am Verzweifeln weil ich einfach kein Plan hab und seit Stunden den Fehler suche! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
hab ich schon das bringt nix :(
-
Du hast in Zeile 8 einen Fehler mit den Anführungszeichen. Der 2. Parameter ist nicht korrekt:
'</''+tag1+'>'
Soll dieser Slash ein Backslash sein, oder gehört da ein normaler Slash hin. Ich verstehe den Zusammenhang nicht, ich glaube, das ist auch garnicht nötig, auf jeden Fall muss das 2. einfache Anführungszeichen in dem Code escaped werden. -
Versuche den Fehler Stück für Stück einzugrenzen, indem du dir Zwischenergebnisse ausgeben läßt
Vielleicht ist es sinnvoll, den Code etwas mehr zu strukturieren, um ihn leichter überschauen zu können. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage