есть такая форма ее надо заставить работать на modx 1.0.4:
<body onLoad="setPrices()">
<script type="text/javascript" language="Javascript"><!--
prices = new Array (new Array (
//мероприятие1
new Array ("1 сентября",
new Array("500р","1000р")
)
,
new Array ("2 сентября",
new Array("500р","1100р")
)
//мероприятие2
), new Array (
new Array ("3 сентября",
new Array("500р","1200р")
)
//мероприятие3
), new Array (
new Array ("4 сентября",
new Array("500","1500")
)
), new Array (
));
function setPrices() {
currentPerf = document.forms.tiket.perf.selectedIndex;
while (document.forms.tiket.price.options.length) {
document.forms.tiket.price.options[0] = null;
}
while (document.forms.tiket.date1.options.length) {
document.forms.tiket.date1.options[0] = null;
}
if (prices[currentPerf][0] != null) {
for (i=0; i < prices[currentPerf].length; i++) {
opt = new Option(prices[currentPerf][i][0],prices[currentPerf][i][0]);
document.forms.tiket.date1.options[i] = opt;
}
for (j=0; j < prices[currentPerf][0][1].length; j++) {
opt = new Option(prices[currentPerf][0][1][j],prices[currentPerf][0][1][j]);
document.forms.tiket.price.options[j] = opt;
}
} else {
opt = new Option("ошибка","0");
document.forms.tiket.price.options[0] = opt;
}
}
function update1Prices() {
currentPerf = document.forms.tiket.perf.selectedIndex;
currentdate1 = document.forms.tiket.date1.selectedIndex;
while (document.forms.tiket.price.options.length) {
document.forms.tiket.price.options[0] = null;
}
if (prices[currentPerf][currentdate1] != null) {
for (j=0; j < prices[currentPerf][currentdate1][1].length; j++) {
opt = new Option(prices[currentPerf][currentdate1][1][j],prices[currentPerf][currentdate1][1][j]);
document.forms.tiket.price.options[j] = opt;
}
} else {
opt = new Option("ошибка","0");
document.forms.tiket.price.options[0] = opt;
}
}
--></script>
<form name="tiket" method="post" onSubmit="return checkFields()">
<table >
<tr>
<td width="40%">выберите мероприятие:</td>
<td width="60%"><select name="perf" onChange="setPrices()" title="выберите мероприятие:">
<option value="мероприятие1">мероприятие1</option>
<option value="мероприятие2">мероприятие2</option>
<option value="мероприятие3">мероприятие3</option>
</select></td>
</tr>
<tr>
<td width="40%">Дата:</td>
<td width="60%"><select name="date1" onChange="update1Prices()" title="Дата:">
</select></td>
</tr>
<tr>
<td width="40%">Цена</td>
<td width="60%"><select name="price" title="Цена:">
</select></td>
</tr>
<tr>
<td width="40%">Комментарии:</td>
<td width="60%"><textarea name="comments" cols="40" rows="5" title="Комментарии:"></textarea></td>
</tr>
<tr>
<td width="40%"> </td>
<td width="60%"><input type=submit name=doSendSendmail value="отправить"></td>
</tr>
</table>
</form>
если просто использую eForm то из-за "даты" и "цены" возникает ошибка
PHP error debug
Error: #LIST rule declared but no list values supplied: #LIST
Error type/ Nr.: User Warning - 512
File: ...eform.inc.php
Line: 947
судя по всему есть какое-то решение с параметром eformonbeforeformparse
http://modxcms.com/forums/index.php?topic=37089.0
но я не смог понять что нужно сделать.