ок, спс я думал что регистр невлияет на работу, ладно буду теперь знать, ещё вопросик
сейчас проблемка вследующем
чанк eFBForm2
<form name="FeedBackForm" id="FeedBackForm" >
<center>
<select name="fbdataz" eform="День::0::" onChange=""></select>
<select name="fbdatazg" eform="мес::0::" onChange="selectDate22()"></select>
<select name="fbdatazgod" eform="год::0::" onChange="selectDate33()"></select>
<input type="submit" name="fbSubmit" id="fbSubmit" value="Отправить">
</center>
</form>
в шаблоне в теге ппрописываю <body onLoad="setToday();selectDate1();" >
в теге head прописыаю <SCRIPT LANGUAGE="JavaScript" src="assets/snippets/kalen.js"></SCRIPT>
файл kalen.js- спомощью его выводится календарь
var mes = new Array();
var god = new Array();
var array = ['январь', 'февраль', 'март', 'апрель', 'май', 'июнь','июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь' ];
var flagg = 0;
<!-- Begin
function selectDate1() {
var now1 = new Date();
var day = now1.getDate();
var month = now1.getMonth();
var year = now1.getYear();
if (year < 2000) // Y2K Fix, Isaac Powell
year = year + 1900;
displayCalendar1(month, year,day,array);
}
function displayCalendar1(month, year,day,array) {
month5 =parseInt( month) ;
year5 = parseInt(year);
month = parseInt(month);
year = parseInt(year);
day = parseInt(day);
var i = 0;
var j = 0;
var ij = day;
var days = getDaysInMonth(month+1,year);
for (i=day; i<=(days); i++) {
document.FeedBackForm.fbdataz.options[j] = new Option(ij,j+1);
ij++;
j++;
}
var i = 0;
var j = 0;
var ij = year5;
for (i=year5; i<=(year5+1); i++) {
document.FeedBackForm.fbdatazgod.options[j] = new Option(ij,j+1);
ij++;
j++;
}
ttt7=12-month;
var i = 0;
for (i=0; i<(ttt7); i++) {
ee=array[month5];
mes[i]= month5;
god[i]= year5;
document.FeedBackForm.fbdatazg.options[i] = new Option(ee,i+1);
if (month5 == 11) {
month5 = 0;
year5++;
} else { month5++; }
}
}
function selectDate22() {
if (flagg == 0 ) {
document.FeedBackForm.fbdataz.options.length =0;
inde=document.FeedBackForm.fbdatazg.selectedIndex;
month5 =parseInt(mes[inde]);
year5 = parseInt(god[inde]);
var days = getDaysInMonth(month5+1,year5);
var i = 0;
var j = 0;
var ij = 1;
for (i=0; i<=(days-1); i++) {
document.FeedBackForm.fbdataz.options[j] = new Option(ij,j+1);
ij++;
j++;
}
if (inde==0)
{
document.FeedBackForm.fbdataz.options.length =0;
var now2 = new Date();
var day = now2.getDate();
var ij = day;
var i = 0;
var j = 0;
for (i=day; i<=(days); i++) {
document.FeedBackForm.fbdataz.options[j] = new Option(ij,j+1);
ij++;
j++;
}
}
}
if (flagg == 1 ) {
document.FeedBackForm.fbdataz.options.length =0;
trey=document.FeedBackForm.fbdatazgod.value;
tremon=document.FeedBackForm.fbdatazg.selectedIndex;
dayst = getDaysInMonth(tremon+1,trey);
i = 0;
j = 0;
ij = 1;
for (i=0; i<=(dayst-1); i++) {
document.FeedBackForm.fbdataz.options[j] = new Option(ij,j+1);
ij++;
j++;
}
}
}
function selectDate33() {
var now14 = new Date();
var day51 = now14.getDate();
var month51 = now14.getMonth();
var year51 = now14.getYear();
if (year51 < 2000) // Y2K Fix, Isaac Powell
year51 = year51 + 1900;
year51 = parseInt(year51);
month51 = parseInt(month51);
year514 = parseInt(year51);
xxxx=document.FeedBackForm.fbdatazgod.value;
if (xxxx > year51 )
{
flagg=1;
document.FeedBackForm.fbdataz.options.length =0;
document.FeedBackForm.fbdatazg.options.length =0;
var days = getDaysInMonth(1,year51);
var i = 0;
var j = 0;
var ij = 1;
for (i=0; i<=(days-1); i++) {
document.FeedBackForm.fbdataz.options[j] = new Option(ij,j+1);
ij++;
j++;}
for (i=0; i<(12); i++) {
ee=array[i];
document.FeedBackForm.fbdatazg.options[i] = new Option(ee,i+1);
}
}
if (xxxx == year514 )
{
flagg=0;
document.FeedBackForm.fbdataz.options.length =0;
document.FeedBackForm.fbdatazg.options.length =0;
selectDate1();
setToday();
}
}
function setToday() {
var now = new Date();
var day = now.getDate();
var month = now.getMonth();
var year = now.getYear();
if (year < 2000) // Y2K Fix, Isaac Powell
year = year + 1900; // http://onyx.idbsu.edu/~ipowell
this.focusDay = day;
displayCalendar(month, year);
}
function isFourDigitYear(year) {
if (year.length != 4) {
alert ("Sorry, the year must be four-digits in length.");
} else { return true; }
}
function displayCalendar(month, year) {
month = parseInt(month);
year = parseInt(year);
var i = 0;
var days = getDaysInMonth(month+1,year);
var firstOfMonth = new Date (year, month, 1);
var startingPos = firstOfMonth.getDay();
days += startingPos;
for (i = 0; i < startingPos; i++) {
}
for (i = startingPos; i < days; i++) {
}
for (i=days; i<42; i++) {
}
}
function getDaysInMonth(month,year) {
var days;
if (month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12) days=31;
else if (month==4 || month==6 || month==9 || month==11) days=30;
else if (month==2) {
if (isLeapYear(year)) { days=29; }
else { days=28; }
}
return (days);
}
function isLeapYear (Year) {
if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) {
return (true);
} else { return (false); }
}
вызываю
[!eForm? &formid=`FeedBackForm` &tpl=`eFBForm2`!]
все выводится как надо тое сть каледарик выводится, но при отправки сообщение пишит
В вашей форме обнаружены следующие ошибки:
День » Неверное значение
мес » Неверное значение
год » Неверное значение
я так думаю что отсутвует теги <option ></option> в
<select name="fbdataz" eform="День::0::" onChange=""></select> Но если смотреть в среде разработчики то <option ></option> присуствуют.
и если написать н-р <select name="fbdataz" eform="День::0::" ><option value="1">1</option></select>, также исправить все другие select и не выполнять скрипт то все нормально будет то есть сообщение отправляется.
Вчем косяк, как испрвать, может modx есть стандартный календарик который будет контачить с со сниптом Eform?