Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Vkládání do textu - kde je chyba???

Please help... Proč nemohu vkládat předdefinovaný text do <textarea>, jestliže mám definovanou funkci AddText, která na jiných stránkách funguje a na téhle, jejíž část kódu uvádím, ne?

echo "<tr><td class='tbl1'><textarea style='width:100%' cols='45' rows='4' type='text' class='textbox' name='comment_comment'>$comment_comment</textarea></td></tr>";
echo "<tr><td class='tbl1' colspan='2' align='center'><input type='button' value='b' class='button' style='font-weight:bold;width:25px;' onClick=\"addText('comment_comment', '<b>', '</b>');\">

... a tak dále... Na již hotových stránkách to chodí bez problémů a na té, kterou právě dělám ne... (funkce AddText má argumenty název elemenmtu, text vkládaný před výběr a za výběr...

Díky za pomoc, už tluču hlavou do zdi...

Předmět Autor Datum
No a aká je chybová hláška? V uvedenom kóde chýba ukončenie reťazca, ale predpokladám, že to nastal…
los 26.09.2007 23:48
los
Žádná chybová hláška, prostě se to neprovede... Samozřejmě ten kód pokračuje - pro vložení <i>, <cen…
Drbo 26.09.2007 23:54
Drbo
A má ten formulár nastavené name=inputform?
los 26.09.2007 23:59
los
Oh my God!!! To víš, že ne, chtěl jsem ho odlišit od jiného formuláře, ale ten je na jiné stránce, t…
Drbo 27.09.2007 00:03
Drbo
Tomu JavaScriptu to vadiť bude, keď sa bude viac formulárov volať rovnako. Buď nechaj meno toho form…
los 27.09.2007 00:08
los
I když ten druhý formulář je na jiných stránkách? A pokud ano, jak mám, please, přidat jméná dalších…
Drbo 27.09.2007 00:11
Drbo
Aha, ak je na inej stránke, tak to vadiť samozrejme nebude.
los 27.09.2007 00:12
los
Díky moc... poslední
Drbo 27.09.2007 00:13
Drbo

No a aká je chybová hláška?

V uvedenom kóde chýba ukončenie reťazca, ale predpokladám, že to nastalo pri tom, ako si to sem kopíroval.
Neočakáva náhodou funkcia addText, aby si jej poslal identifikátor elementu? V tom prípade by pomohlo nastaviť pre textareu id=comment_comment...

Žádná chybová hláška, prostě se to neprovede... Samozřejmě ten kód pokračuje - pro vložení <i>, <center> a tak dále... Dám sem kód pro AddText, jen podotýkám, že jinde to se stejným nastavením (aspoň se mi to zdá) funguje...

Funkce AddText:

function addText(elname, wrap1, wrap2) {
	if (document.selection) { // for IE
		var str = document.selection.createRange().text;
		document.forms['inputform'].elements[elname].focus();
		var sel = document.selection.createRange();
		sel.text = wrap1 + str + wrap2;
		return;
	} else if ((typeof document.forms['inputform'].elements[elname].selectionStart) != 'undefined') { // for Mozilla
		var txtarea = document.forms['inputform'].elements[elname];
		var selLength = txtarea.textLength;
		var selStart = txtarea.selectionStart;
		var selEnd = txtarea.selectionEnd;
		var oldScrollTop = txtarea.scrollTop;
		//if (selEnd == 1 || selEnd == 2)
		//selEnd = selLength;
		var s1 = (txtarea.value).substring(0,selStart);
		var s2 = (txtarea.value).substring(selStart, selEnd)
		var s3 = (txtarea.value).substring(selEnd, selLength);
		txtarea.value = s1 + wrap1 + s2 + wrap2 + s3;
		txtarea.selectionStart = s1.length;
		txtarea.selectionEnd = s1.length + s2.length + wrap1.length + wrap2.length;
		txtarea.scrollTop = oldScrollTop;
		txtarea.focus();
		return;
	} else {
		insertText(elname, wrap1 + wrap2);
	}
}

A jako vždycky poznamenávám - jsem totální laik a jsem maximálně jakžtakž schopen odhadnout, co která část kódu, který jsem někde našel, dělá... a nějak je slepit k sobě... :-) Takže v případě nalezení problému prosím o trpělivý výklad... :-)))

Zpět do poradny Odpovědět na původní otázku Nahoru