#javascript #php #forms #xslt
#javascript #php #формы #xslt
Вопрос:
Я вижу, что весь мой JavaScript запускается, за исключением моего последнего нажатия, которое отправляется в файл PHP для создания отчета (я использую HTML / JS>> PHP>> XML XSLT>> FOP>> PDF).
Вот моя функция:
function doReport() {
var date = $("#myDate").val().replace(/D/g, '');
if (date.length >= 6) {
var dateYY = date.substr(date.length - 4)
var dateMM = date.slice(0, -4)
} else if (date.length == 5) {
var dateYY = date.substr(date.length - 4)
var dateMM = date.slice(0, -4)
dateMM = '0' dateMM;
} else {
var dateYY = date.substr(date.length - 2)
var dateMM = date.slice(0, -2)
dateYY = '20' dateYY
};
var dateDD = '01';
// var sDate = dateMM '-01-' dateYY;
var sDate = new Date(dateYY, (dateMM -1 ), dateDD);
var eDate = new Date(dateYY, dateMM, 0);
var cDate = new Date();
var firstDay = new Date(cDate.getFullYear(), cDate.getMonth(), 1);
if (sDate >= firstDay) {
alert(' Please enter a month earlier than this month');
}
// alert('Month: ' dateMM ', Year: ' dateYY ', Full Date: ' sDate ' first day of month: ' firstDay);
// alert('sDate: ' sDate ' eDate: ' eDate);
if (date == '') return alert('Missing Date - Please correct it.');
if (checkDateFld(date) === false) {
$('#myDate').focus();
return alert("Your starting date must be a valid date in mm-yyyy format.");
}
window.open('Apps/R_SatsEOM.phpamp;sDate=' sDate 'amp;eDate=' eDate);
}
Вся проверка работает без сбоев, проверяется, чтобы убедиться, что месяц, за который выполняется отчет, не в будущем, но ничего не происходит, где:
window.open('Apps/R_SatsEOM.phpamp;sDate=' sDate 'amp;eDate=' eDate);
должен сработать. Как я могу это проверить? Есть ли что-то принципиально неправильное в моем JS? Или я лаю не на то дерево, и это проблема PHP?
Комментарии:
1. Одна очень очевидная ошибка заключается в этом URL
Apps/R_SatsEOM.phpamp;sDate=
: этоamp;
должно быть?
2. Также могут быть проблемы с блокировкой всплывающих окон.
3. Проблем с блокировкой всплывающих окон нет, и я исправил
App/R_StatsEOM.php?sDate=
…, есть другие мысли?4. Я бы начал с простого возврата XML без какой-либо другой обработки. Затем верните XSL FO, который является входом для FOP. Если это сработает, я бы запустил XSL FO через FOP в командной строке, чтобы убедиться, что FOP не сообщает об ошибках и рендеринг прерван.