24.01.2015, 01:11
|
Интересующийся
|
|
Регистрация: 24.01.2015
Сообщений: 10
|
|
Подскажите, как создать кнопку для textarea
Здравствуйте. Подскажите, как создать кнопку для textarea, чтобы при ее нажатии символ появился в textarea? Символ следующий - | создается при комбинации alt +1,2,4.
За ране благодарю.
|
|
24.01.2015, 01:15
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
<form>
<textarea id="input"></textarea>
<button type="button" onclick="input.value += '|'">Вставить «|»</button
</form>
Появляется? Появляется. Все как по заказу.
__________________
В личку только с интересными предложениями
|
|
24.01.2015, 01:56
|
Интересующийся
|
|
Регистрация: 24.01.2015
Сообщений: 10
|
|
Спасибо большое. Можно ли что-то сделать чтобы курсор из формы не исчезал? И символ указанный в кнопке ставился в любом месте где стоит курсор, а не в конце?
Последний раз редактировалось vladimir003, 24.01.2015 в 02:22.
|
|
24.01.2015, 11:34
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Ну что-то воде этого:
<form>
<textarea id="input"></textarea>
<script>
var input = document.getElementById('input');
function вставитьПалку() {
var value = input.value;
var selection = [input.selectionStart, input.selectionEnd];
value = value.substring(0, selection[0]) + '|' + value.substring(selection[1]);
input.value = value;
input.focus();
input.selectionStart = selection[0] + 1;
input.selectionEnd = selection[0] + 1;
}
</script>
<button type="button" onclick="вставитьПалку()">Вставить «|»</button
</form>
В IE8 не будет работать.
__________________
В личку только с интересными предложениями
|
|
24.01.2015, 13:43
|
Интересующийся
|
|
Регистрация: 24.01.2015
Сообщений: 10
|
|
Ваша форма работает, а в моей где-то ошибка, не могу найти
<form method="post">
<div class="form-group">
<script>
function push(but, id, tag) {
document.getElementById(id).value += tag;
}
</script>
<textarea name="text" class="form-control" rows="5">
<?= htmlspecialchars($text) ?></textarea><br />
<script>
var input = document.getElementById('text');
function text.value += '|' {
var value = input.value;
var selection = [input.selectionStart, input.selectionEnd];
value = value.substring(0, selection[0]) + '|' + value.substring(selection[1]);
input.value = value;
input.focus();
input.selectionStart = selection[0] + 1;
input.selectionEnd = selection[0] + 1;
}
</script>
<button class="btn btn-default" type="button" onclick="text.value += '|'">Вставить «|»</button></form>
Последний раз редактировалось vladimir003, 24.01.2015 в 15:18.
|
|
24.01.2015, 15:39
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Сообщение от vladimir003
|
где-то ошибка, не могу найти
|
Весь твой код - одна сплошная ошибка ))
Посмотри еще раз на мой код (второй вариант), а потом посмотри на свой )
__________________
В личку только с интересными предложениями
|
|
24.01.2015, 15:40
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Сообщение от vladimir003
|
function text.value += '|' {
|
Эт че такое
__________________
В личку только с интересными предложениями
|
|
24.01.2015, 15:55
|
Интересующийся
|
|
Регистрация: 24.01.2015
Сообщений: 10
|
|
Это вот от сюда:
[
<button type="button" onclick="input.value += '|'">Вставить «|»</button>
Только у вас ID="input", а у меня - text
|
|
24.01.2015, 16:55
|
Интересующийся
|
|
Регистрация: 24.01.2015
Сообщений: 10
|
|
Сейчас исправил, но все равно символ вставляет в конце, может из-за первого скрипта?
<form method="post">
<div class="form-group">
<script>
function push(but, id, tag) {
document.getElementById(id).value += tag;
}
</script>
<textarea name="text" id="input" class="form-control" rows="5">
<?= htmlspecialchars($text) ?></textarea><br />
<script>
var input = document.getElementById('input');
function input.value += '|' {
var value = input.value;
var selection = [input.selectionStart, input.selectionEnd];
value = value.substring(0, selection[0]) + '|' + value.substring(selection[1]);
input.value = value;
input.focus();
input.selectionStart = selection[0] + 1;
input.selectionEnd = selection[0] + 1;
}
</script><button class="btn btn-default" type="button" onclick="input.value += '|'">Вставить «|»</button></form>
|
|
24.01.2015, 17:09
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
vladimir003, у тебя провалы в памяти что-ли? Ты уже спрашивал, и я тебе предложил другой код. Пролистай наверх, блин, перечитай ветку.
__________________
В личку только с интересными предложениями
|
|
|
|