Перейти к содержимому



Реализация добавления поля формы без перезагрузки

#11 surfer

surfer
    Topic Starter
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71
0

Отправлено 01 Август 2009 - 20:41

foreach ($pole as &$value) {
echo $value;
}

$value - это количество элементов в массиве, так?
т.е. я могу теперь вместо в echo делать записи в БД
  • 0

#12 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 01 Август 2009 - 21:25

количество элементов в массиве $pole - это count($pole)
в $value попадают значения элементов массива

foreach ($pole as $value) { //для каждого элемента массива $pole помещать его значение в переменную $value
echo $value; //выводить эту переменную в браузер
}
по-русски эта конструкция читается так: "для каждого элемента массива $pole помещать его значение в переменную $value и выводить эту переменную в браузер"

т.е. я могу теперь вместо в echo делать записи в БД

да
  • 0

#13 surfer

surfer
    Topic Starter
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 01 Август 2009 - 21:42

я сейчас перечатал раздел про массивы в книге, отталкиваясь от общения с вами все устаканилось :)
  • 0

#14 Banderas

Banderas
  • Пользователь
  • 1 168 сообщений
  • Репутация: 1

Отправлено 01 Август 2009 - 22:31

Вот 3 способа как извлечь из массива данные:
1) FOR
for ($i=0; $i<count($arr); $i++) {
	echo $arr[$i]."<br />";
}
2) FOREACH
foreach ($massiv as $key => $value) {
	echo "$key => $value <br />";
}
3) WHILE
while ($element = each($massiv)) {
	echo $element['key'].':'.$element['value']."<br />";
}

После использования foreach массив нужно резетнуть reset() что бы массив оставался массивом)))
  • 0


#15 surfer

surfer
    Topic Starter
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 02 Август 2009 - 07:55

блин Вы меня расстрогали таким отношением, спасибо!
  • 0

#16 surfer

surfer
    Topic Starter
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 02 Август 2009 - 09:43

а если немного усложнить задачу, когда остается одно поле кнопка удалить становится неактивной?
  • 0

#17 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 02 Август 2009 - 11:14

<html>
<head>
<title>Dynamic form</title>
<script type="text/javascript">
var nfields = 1;

function addfield() {
str = '';
nfields++;
for (i = 1; i <= nfields; i++) {
str += (i == 1 ? '' : '<br />');
tsrt = (i == nfields ? "" : document.getElementById('pole'+i).value);
str += '<input type="text" name="pole[]" id="pole'+i+'" value="'+tsrt+'" /> <input type="button" value="удалить" name="remove'+i+'" onClick="rmfield('+i+');"'+((nfields == 1) ? ' disabled' : '')+' />\n';
}
document.getElementById('poles').innerHTML = str;
}

function rmfield(pos) {
str = '';
delta = 0;
for (i = 1; i <= nfields; i++) {
if (i == pos) {
delta = 1;
}
else {
tpos = i-delta;
str += (tpos == 1 ? '' : '<br />');
tsrt = document.getElementById('pole'+i).value;
str += '<input type="text" name="pole[]" id="pole'+tpos+'" value="'+tsrt+'" /> <input type="button" value="удалить" name="remove'+tpos+'" onClick="rmfield('+tpos+');"'+((nfields == 2) ? ' disabled' : '')+' />\n';
}
}
document.getElementById('poles').innerHTML = str;
nfields--;
}


</script>
</head>
<body>
<form name="add" action="form.php" method="POST">
<input type="button" value="добавить" name="add" onClick="addfield();" />
<div id="poles"><input type="text" name="pole[]" id="pole1" value="" /> <input type="button" value="удалить" name="remove1" onClick="rmfield(1);" disabled /></div>
<input type="submit" value="сохранить" name="save" />
</form>
</body>
</html>

  • 0

#18 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 05 Август 2009 - 11:25

Всё сделано сложно, DOM никто не использует? Вообще можно сделать всё намного проще.
  • 0

#19 surfer

surfer
    Topic Starter
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 05 Август 2009 - 12:15

а как тогда?


  • 0

#20 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 06 Август 2009 - 22:54

sc2r2bey, почитайте вот это вступление в DOM. Хоть там и не все функции приводятся, но всё понятно расписано:
JS DOM функции
А вот вообще по DOM общее
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru