Для начала я искал сайт и нашел это:
Как заполнить текстовое поле с помощью выпадающего списка
, но оно не подошло моемупотребности, так как я создаю очень длинные шаблоны, и вышеупомянутый метод будет слишком трудоемким и непрактичным, поскольку это будет означать заполнение атрибута value
каждого тега <option>
моими шаблонами.
Итак, воткод:
<script type="text/javascript">
//<![CDATA[
function showCSTemplates(sel){
locations =[ "", /*this remains blank for first selection in drop-down list*/
/*option 1*/
" This is template 1 that will appear in a
textarea keeping
its formatting
as
is. ",
/*option 2*/
" This is template 2 that
will appear in a
textarea keeping its
formatting as is.
Credentials:
Contact Info: ",
/*option 3*/
" This is template 3 that will appear in a
textarea keeping its formatting as is.
Donec tortor lorem,
ornare vitae commodo nec,
sagittis et nunc.
Maecenas sagittis quam ",
/*option 4*/
"etc",
/*option 5*/
"etc...", ];
srcLocation = locations [sel.selectedIndex];
if (srcLocation != undefined && srcLocation != "") {
document.getElementById('CSTemplates').innerHTML = srcLocation;
}
} //]]>
</script>
и вот разметка:
<h1>Note Generator</h1>
<div class="left">
CSTemplates
<p>
<select class="c10">
<option selected="selected" value="" id="Templates" onchange="showCSTemplates(this);">Please select a template...</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
</p>
<p>
<textarea cols="30" rows="20" readonly="readonly" id="CSTemplates">
Templates will auto-populate
here depending on the
selection made from the
[CSTemplates]
drop-down list.
</textarea>
</p>
</div><!--left ends here-->
Хуже всего то, что я даже не получаю сообщение об ошибке скрипта, когда тестирую это, просто нетработать вообще, поэтому я не знаю, где я ошибся здесь.Я сделал похожую страницу, используя теги <input type="text">
, и они работали нормально, но я не могу заставить ее работать с <textarea>
, независимо от того, что я пытаюсь.
Любая помощь будетБуду очень признателен!Заранее спасибо!
Отредактировано 2 сентября 2011 г. в 01:17:34
Чтобы пояснить вышесказанное, где я сказал «Ядаже не получая ошибку скрипта при тестировании, он просто не работает вообще, "
, что я имел в виду, если я оставляю шаблоны все в одной строке, то есть
/*option 1*/
" This is template 1 that will appear in a textarea keeping its formatting as is. ",
тогда я не получаю ошибку.Однако, если я ввожу разрывы строк для форматирования, как указано выше:
/*option 1*/
" This is template 1 that will appear in a
textarea keeping
its formatting
as
is. ",
, тогда я получаю ошибку «Неопределенная строковая константа».Будет ли использование \n
решить эту ошибку?Кроме того, я исключил это из сценария, потому что я не знаю, как это сделать, но в <textarea>
, где написано
Templates will auto-populate
here depending on the
selection made from the
[CSTemplates]
drop-down list.
, мне нужно стереть, когда пользователь выбирает выбор извыпадающий список, и для <textarea>
для заполнения с соответствующим выбором из сценария.Спасибо!