JavaScript вывод содержимого нескольких полей

DY
На сайте с 11.02.2015
Offline
29
940

Доброго времени суток.

Ребята, нуждаюсь в вашей помощи, (т.к. сам человек далекий от javascript).

Подскажите пожалуйста - Как вывести на страницу содержимое нескольких инпутов в разных местах?

Например:
На странице есть текст с пробелами. Так же есть несколько инпутов. После заполнения этих инпутов, по нажатию на кнопку введенные значения выводятся в местах пробелов.

в 1 пробел выводится текст из 1 инпута,
во 2 пробел выводится текст из 2 инпута,
в 3 пробел выводится текст из 3 инпута

Заранее благодарен за ответ или ответы, буду рад выслушать всех желающих.

S
На сайте с 19.11.2014
Offline
72
#1

каждому пробелу задайте уникальный ID - в данном случае, например, используйте span в нужных местах

<span id="span_1"></span>

<span id="span_2"></span>

<span id="span_3"></span>

У инпутов свои ID

<input type="text" id="input_1" value="la-la-1">

<input type="text" id="input_2" value="la-la-2">

<input type="text" id="input_3" value="la-la-3">

По нажатию кнопки - вызов функции, в которой значение соответствующего инпута записываете в нужное место

var span1 = document.getElementById("span_1");

span1.innerHtml = document.getElementById('input_1').value

Если используете jQuery

$('#span_1').html( $('#input_1').val() );

Примеры функций


function fnc1()
{
//Это весьма грубо, но, думаю, наглядно
var span1 = document.getElementById("span_1");
span1.innerHtml = document.getElementById('input_1').value;

var span2 = document.getElementById("span_2");
span2.innerHtml = document.getElementById('input_2').value;

var span3 = document.getElementById("span_3");
span3.innerHtml = document.getElementById('input_3').value;
}

или с jQuery


function fnc2()
{
$('#span_1').html( $('#input_1').val() );
$('#span_2').html( $('#input_2').val() );
$('#span_3').html( $('#input_3').val() );
}

Можно всё упростить и "элегантизировать".

Возможно, ошибки в синтаксисе, но яваскрипт - не моя фишка. Комрады, чуть-что, поправят.

DY
На сайте с 11.02.2015
Offline
29
#2

Спасибо за ответ и оперативность!

То есть, если я все правильно понял, будет что то вроде того ... (Поправьте если что то не так)


<input type="text" id="input_1" >
<input type="text" id="input_2" >
<input type="text" id="input_3" >

<script type="text/javascript">
function fnc1()
{
var span1 = document.getElementById("span_1");
span1.innerHtml = document.getElementById('input_1').value;

var span2 = document.getElementById("span_2");
span2.innerHtml = document.getElementById('input_2').value;

var span3 = document.getElementById("span_3");
span3.innerHtml = document.getElementById('input_3').value;
}
</script>

<span id="span_1"></span>
<span id="span_2"></span>
<span id="span_3"></span>

И прошу подсказать - Каким образом мне вызвать данную функцию?

Пробовал, вот так:


<input onclick="fnc1()" type="button" value="Вывести">

но, кажется я что то не так делаю или понямаю 🙄

Спасибо и заранее благодарен за ответ!

Станислав
На сайте с 27.12.2009
Offline
237
#3
dmYoite:
по нажатию на кнопку

$('#button').on('click', function() {

$('#span_1').html( $('#input_1').val() );
$('#span_2').html( $('#input_2').val() );
$('#span_3').html( $('#input_3').val() );
});

Не забудьте про кнопку

<button id="button">Кнопка</button>
Мы там, где рады нас видеть.
S
На сайте с 19.11.2014
Offline
72
#4
dmYoite:

Пробовал, вот так:

<input onclick="fnc1()" type="button" value="Вывести">

но, кажется я что то не так делаю или понямаю 🙄

В принципе, всё правильно, просто замените innerHtml на innerText. innerHtml не срабатывает (яваскриптчики, наверное, знают почему. А я только догадываюсь).


<input type="text" id="input_1" >
<input type="text" id="input_2" >
<input type="text" id="input_3" >

<script type="text/javascript">
function fnc1()
{
var span1 = document.getElementById("span_1");
span1.innerText = document.getElementById('input_1').value;

var span2 = document.getElementById("span_2");
span2.innerText = document.getElementById('input_2').value;

var span3 = document.getElementById("span_3");
span3.innerText = document.getElementById('input_3').value;
}
</script>

<span id="span_1"></span>
<span id="span_2"></span>
<span id="span_3"></span>
<input onclick="fnc1();" type="button" value="Вывести">

Проверил в Хроме и Опере, - в таком виде работает. А jquery не используете? Если нет, то рекомендую разобраться с ним. Для таких задач он Вас здорово выручит.

DY
На сайте с 11.02.2015
Offline
29
#5

Проблема решена. Большое, просто огромнейшее спасибо за ответы!

Отдельное спасибо "Swir"!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий