| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Никита Козин 14.02.2005 06:59
Все гораздо хуже. Таблицы беруться из формы 8), см. tables. Получение множества значений поля@auto[]
^if(def $form:fields){
^rem{### спектакли ###}
$perfomances[$form:tables.perfomance]
^rem{### актеры ###}
$actors[$form:tables.actor]
^rem{### роли ###}
$roles[$form:tables.role]
}
# end @auto[]
##############################
@form[]
^rem{### Скрипт, дублирующий и удаляющий строки таблицы ###}
<script language="JavaScript">
function drop(btn){
if(document.getElementById) {
tr = btn;
while (tr.tagName != 'TR') tr = tr.parentNode;
tr.parentNode.removeChild(tr);
checkForLast();
}
}
function add(btn){
if(document.getElementById) {
tr = btn;
while (tr.tagName != 'TR') tr = tr.parentNode;
var idSuffix = Math.round(Math.random()*1000);
var newTr = tr.parentNode.insertBefore(tr.cloneNode(true),tr.nextSibling);
thisChilds = newTr.getElementsByTagName('td');
for (var i = 0; i < thisChilds.length; i++){
if (thisChilds[i].className == 'role') thisChilds[i].innerHTML = '<input type="text" name="role" value="">';
}
checkForLast();
}
}
function checkForLast(){
btns = document.getElementsByName('drop');
for (i = 0; i < btns.length; i++){
btns[i].disabled = (btns.length == 1) ? true : false;
}
}
</script>
<form action="$request:uri" method="post">
<table cellspacing="0" cellpadding="0" border="0"><tr><td>
<table cellspacing="0" cellpadding="2" border="0">
<tr>
<td>Спектакль:</td>
<td>Актер:</td>
<td>Роль:</td>
<td colspan="2">^spacer[]</td>
</tr>
<tr>
<td>
^rem{### Список спектаклей ###}
<select name="perfomance">
<option value=""></option>
^perfomances.menu{
<option value="$perfomances.id">$perfomances.title</option>
}
</select>
</td>
<td>
^rem{### Список актеров ###}
<select name="actor">
<option value=""></option>
^actors.menu{
<option value="$actors.id">$actors.name</option>
}
</select>
</td>
<td class="role">
^rem{### Роль выбранного актера в выбранном спектакле ###}
<input type="text" name="role" value="">
</td>
<td><input type="button" name="drop" value=" - " onClick="drop(this)^;"></td>
<td><input type="button" value=" + " onClick="add(this)^;"></td></td>
</tr>
</table>
<script language="Javascript">if(document.getElementById) checkForLast();</script>
</td></tr></table>
<input type="submit" value="Добавить">
</form>
# end @form[]
##############################