Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Данные в масиве (https://javascript.ru/forum/events/27253-dannye-v-masive.html)

next_uk 06.04.2012 22:22

Данные в масиве
 
здравствуйте!
вот в чем вопрос:
есть страница, на которой вводятся некоторый данные...нужно нажать кнопочку, чтобы эти данные занеслись в массив, а потом если нажать еще одну кнопочку, то выводятся эти данные.
подскажите, как это сделать..заранее спасибо

Маэстро 11.04.2012 16:31

<html>
<body>
<script>
var data = [];
  
function test1()
{
var v1 = document.getElementById("1").value;      
var v2 = document.getElementById("2").value;      
var v3 = document.getElementById("3").value;
data[0]=v1;
data[1]=v2;
data[2]=v3;
};

  
function test2()
{
alert('1: ' + data[0] + ' 2: ' + data[1] + ' 3: ' + data[2]);
};

</script>
<input id="1">      
<input id="2">      
<input id="3">        
<input type="button" value="Save" onclick=test1()>
<input type="button" value="Show" onclick=test2()>  
</body>
</html>

T-sh 11.04.2012 17:06

Цитата:

Сообщение от Маэстро (Сообщение 168331)
<html>
....
</html>


а я бы так сделал :)

<html>
<body>
<input class="vl" value="0">   
<input class="vl" value="1">  
<input class="vl" value="2">            
<input type="button" value="Save" onclick=createArr()>
<input type="button" value="Show" onclick=showArr()>  
<script>

var data = new Array();
var ar;

function createArr(){
ar = document.getElementsByClassName('vl');
for (var i =0; i<=ar.length; i++){
data[i] =  ar[i].value;
}
}
function showArr(){
alert(data);
}
</script>
</body>

GuardCat 11.04.2012 17:15

Цитата:

Сообщение от T-sh
var data = new Array();

А почему не литерально? Есть какая-то практическая причина или просто привычка?

T-sh 11.04.2012 17:25

Цитата:

Сообщение от GuardCat (Сообщение 168362)
А почему не литерально? Есть какая-то практическая причина или просто привычка?

просто привычка :) как-то удобнее так объявлять пустые массивы.

если создаю не пустой — тогда уже лит. нотацией пользуюсь

Маэстро 11.04.2012 17:32

Цитата:

Сообщение от T-sh (Сообщение 168353)
а я бы так сделал :)
...for (var i =0; i<=ar.length; i++)...

Естественно, что я тоже так бы сделал. Но
во-первых, человеку надо дать показать наглядно суть решения.
во-вторых, в задаче не сказано ни как должны вводиться данные, ни как выводиться. Получение информации с полей ввода тоже можно было сделать в цикле... а если это не input, а textarea? А если это вообще не инпуты, а другой массив, который приехал по запросу из AJAX? и т.д. Главное, чтоб оно работало.


Часовой пояс GMT +3, время: 20:53.