Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Cчитывание в двумерный массив (https://javascript.ru/forum/misc/7203-cchityvanie-v-dvumernyjj-massiv.html)

Катерина 20.01.2010 20:11

Cчитывание в двумерный массив
 
Здравствуйте.
Передо мной стоит задача нписания шаблона для заполнения на Java Script.
Подскажите, пжл, как считать данные из формы в двумерный массив (мне необходимо сделать ряд проверок введенных данных, начала просто с заполнено/не заполненно). Или в чем моя ошибка

[JS]
var t=new Array();
for (i=0;i<=3;i++){
t[i]=new Array()
};
for (i=0;i<=3;i++){
for (j=0;j<=2;j++){
t[i][j]=document.first.elements[i][j].value;
if (t[i][j]==""){
alert("Введите данные");
document.first.elements[i][j].focus();
};
};
};
};
</JS>
......
<form name="first">
<input type="text" name="text00">
<input type="text" name="text01">
<input type="text" name="text02">
...
<input type="button" name="button" value="Проверка" onClick="test(this.form)">
....

Gvozd 20.01.2010 20:37

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

PS getElementsByName или elements[i*3+j]

Катерина 20.01.2010 22:19

Извините, Gvozd? в следующий раз я буду стараться верно выкладывать свой код.
Я не очень сильна в программировании на JS. Я почитала о методе объекта, который Вы мне предложили. Но не разобралась. Мне нужно заменить на t[i][j]=document.getElementsByName(text[i][j]);?
Помогите, пжл.

Gvozd 20.01.2010 22:25

Здравствуйте!

Судя по вашему сообщению, вы ну совсем не знаете javascript.

Освойте основы языка и вопрос отпадет сам, полностью или частично.
А с чем не справитесь - поможем.

На сайте javascript можно начать изучать с учебника, раздел Основы javascript.
Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/

Задавайте конкретные вопросы по ходу дела.

PS
t[i][j]=document.getElementsByName(text+i+j)[0];

Катерина 20.01.2010 23:07

Большое спасибо. Я действительно новичок в JS.
Буду учиться.
Я вставляю в код как Вы мне посоветовали, но появляется ошибка 'text'-определения отсутствует

Gvozd 21.01.2010 00:22

завтыкал
t[i][j]=document.getElementsByName('text'+i+j)[0];

Катерина 21.01.2010 20:41

Здравствуйте.
Нет, опять не работает. Я попробовала не делать проверку, а просто вывести с помощью alert(). Выводит вместо того, что нужно [object].
Что же делать?

Gvozd 21.01.2010 22:03

вы что совсем дурак?! или просто не хотите думать, а просто копируете предложенный код, и если он не работает, ничего не пытаетесь сделать?!
вы же сами написали:
Цитата:

Сообщение от Катерина
.value;

очевидно, что в данном случае я его также просто пропустил по невнимательности, и его вы могли бы вставить самостоятельно
t[i][j]=document.getElementsByName('text'+i+j)[0].value;

Riim 22.01.2010 03:05

Цитата:

Сообщение от Gvozd
вы что совсем дурак?

так это она - Катюша :) .

Gvozd 22.01.2010 03:26

Цитата:

Сообщение от Riim
так это она - Катюша .

Не слепой. Ник видел, десу
Но, десу!
Да и вообще это был частично сарказм, частично ХренПоймешЧе ;)

Катерина 22.01.2010 19:24

Ой-ой, как грубо.:( Нет я не дура. :no: Но если вижу что-то мне не знакомое, то не очень уверенно себя чувствую. Поэтому и спрашиваю.
И еще, по поводу того, что я не пытаюсь... Я за 2 дня 2 самоучителя изучила. так что я пытаюсь, даже очень

Катерина 22.01.2010 19:47

Урааааааа! Всё получилось!!! Спасибо-спасибо-спасибо Вам большое! Так, первый пункт с Вашей помощью я выполнила в этой огромной (для меня) задаче! Проверок и запретов всяких понаделала сегодня.
Теперь подзадача №2 - Динамическое добавление полей формы (т.е. при нажатии на кнопочку "Добавить", добавляется еще одна строка (в ней 17 столбцов) из элементов формы.
Буду пытаться сама. Но, если не будет получаться в некоторых вопросах, надеюсь, Вы мне поможете советом?

Gvozd 22.01.2010 19:52

Цитата:

Сообщение от Катерина
Ой-ой, как грубо

Это_интернет,_детка
Цитата:

Сообщение от Катерина
Я за 2 дня 2 самоучителя изучила.

видимо плохо изучила.
потому что, как я посмотрю, знания не особо задержались.
Попробуй более спокойно и вдумчиво делать, делая примеры, предлагаемые авторами, и тогда в голове возможно останутся полезные знания, которыми ты сможешь в дальнейшем эффективно пользоваться
Когда я писал свою первую программу на JS(2200 строк кода, если мне память не изменяет. 2-е суток времени до часа X), то у меня тоже делал впопыхах
Как результат тот код, хоть и прокатил для необходимых целей, но я предпочитаю его с тех пор никому не показывать, и сам даже не знаю где он. Хотя меня и просили его достать(это была игра, интересная паре моих знакомых). Знания мои оставшиеся после такого знакомства были достаточно сумбурными.
Много позднее мне понадобилась примерно неделя сидения над статьями этого сайта, чтобы сформировать верное понимание JS
Так что хорошие вещи наспех не делаются
Цитата:

Сообщение от Bash.Org.Ru
Повелитель Вселенной
поспешишь.....

Повелитель Вселенной
споткнешься... ударишься лицом об землю. разобьешь все се в кровь, сломаешь руку.... выбьешь все зубы..... будешь валяться, весь в крови.... в адских болях.....

Повелитель Вселенной
...людей насмешишь

UPD:
Цитата:

Сообщение от Катерина
Динамическое добавление полей формы

об этом уже столько материала написано, что желания повторять сказанные уже десятки раз вещи для вас, желания мало.
Вы прекрасно сможете найти все эти вещи в гугле, или же на форуме


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