year.addEventListener('change', check_date, false);
month.addEventListener('change', check_date, false);
<code>
Ошибка возникает потому что он не видит этих элементов, поэтому и вставил туда
function check_date() {
var a = year.value | 0,
c = month.value | 0;
var ch = document.getElementsByName('month','year');
if (!ch) {
console.warn('Element "' +cha + '" not found');
return;
}
md = (new Date(a, c, 0, 0, 0, 0, 0)).getDate();
a = document.getElementById("day").selectedIndex;
set_select("day", md, 1, a)
};
if (document.addEventListener) {
year.addEventListener('change', check_date, false);
month.addEventListener('change', check_date, false);
} else {
year.detachEvent('onchange', check_date);
month.detachEvent('onchange', check_date);
}
}
// Инициализация нужных плагинов
var gulp = require('gulp'),
jade = require('gulp-jade'),
concat = require('gulp-concat'),
uglify = require('gulp-uglify'),
imagemin = require('gulp-imagemin'),
sourcemaps = require('gulp-sourcemaps'),
stylus = require('gulp-stylus'),
del = require('del'),
gutil = require('gulp-util');
// Пути для файлов которые войдут в билд
var build_paths = {
scripts: 'assets/js/**/*',
images: 'assets/img/**/*',
jade: 'assets/jade/**/[^_]*.jade',
stylus: 'assets/stylus/**/[^_]*.styl',
fonts: 'assets/fonts/**/*',
vendor: 'assets/vendor/**/*'
};
// Пути для файлов за которыми нужно следить
var watch_paths = {
scripts: 'assets/js/**/*',
images: 'assets/img/**/*',
jade: 'assets/jade/**/*.jade',
fonts: 'assets/fonts/**/*.[eot|svg|ttf|woff]',
stylus: 'assets/stylus/**/*.styl',
vendor: 'assets/vendor/**/*'
};
// Пути указывающие куда нужно складывать готовые файлы
var dest_paths = {
scripts: 'public/js/',
//scripts_dev: '.js/',
images: 'public/img/',
jade: 'public/',
fonts: 'public/fonts/',
stylus: 'public/css/',
//stylus_dev: '.css/',
vendor: 'public/vendor/'
};
// Not all tasks need to use streams
// A gulpfile is just another node program and you can use all packages available on npm
gulp.task('clean', function(cb) {
// You can use multiple globbing patterns as you would with `gulp.src`
del(['public/*'], cb);
});
gulp.task('vendor', function () {
return gulp.src(build_paths.vendor)
.pipe(gulp.dest(dest_paths.vendor));
})
gulp.task('scripts', function() {
return gulp.src(build_paths.scripts)
// .pipe(sourcemaps.init())
.pipe(uglify())
.pipe(concat('all.min.js'))
// .pipe(sourcemaps.write())
.pipe(gulp.dest(dest_paths.scripts))
//.pipe(gulp.dest(dest_paths.scripts_dev));
});
// Copy all static images
gulp.task('images', function() {
console.log(gulp.src(build_paths.images));
return gulp.src(build_paths.images)
// Pass in options to the task
.pipe(imagemin({optimizationLevel: 5}))
.pipe(gulp.dest(dest_paths.images));
});
// Copy all static images
gulp.task('fonts', function() {
return gulp.src(build_paths.fonts)
.pipe(gulp.dest(dest_paths.fonts));
});
// Compile Jade
gulp.task('jade', function() {
return gulp.src(build_paths.jade)
.pipe(jade({
pretty: true
}))
.on('error', gutil.log)
.pipe(gulp.dest(dest_paths.jade))
;
});
// Compile Stylus
gulp.task('stylus', function() {
return gulp.src(build_paths.stylus)
.pipe(stylus())
.on('error', gutil.log)
.pipe(gulp.dest(dest_paths.stylus))
//.pipe(gulp.dest(dest_paths.stylus_dev))
;
});
// Watch for updates
gulp.task('watch', function() {
gulp.watch(watch_paths.scripts, ['scripts']);
gulp.watch(watch_paths.images, ['images']);
gulp.watch(watch_paths.jade, ['jade']);
gulp.watch(watch_paths.fonts, ['fonts']);
gulp.watch(watch_paths.stylus, ['stylus']);
gulp.watch(watch_paths.vendor, ['vendor']);
});
// The default task (called when you run `gulp` from cli)
gulp.task('default', ['watch', 'scripts', 'images', 'jade', 'stylus', 'fonts', 'vendor']);
<code>
[18:02:38] Starting 'watch'...
[18:02:38] Finished 'watch' after 15 ms
[18:02:38] Starting 'scripts'...
[18:02:38] Starting 'images'...
[18:02:38] Starting 'jade'...
[18:02:38] Starting 'stylus'...
[18:02:38] Starting 'fonts'...
[18:02:38] Starting 'vendor'...
[18:02:38] Finished 'scripts' after 51 ms
[18:02:38] gulp-imagemin: Minified 0 images
[18:02:38] Finished 'images' after 38 ms
[18:02:38] Finished 'jade' after 32 ms
[18:02:38] Finished 'stylus' after 28 ms
[18:02:38] Finished 'fonts' after 24 ms
[18:02:38] Finished 'vendor' after 32 ms
[18:02:38] Starting 'default'...
[18:02:38] Finished 'default' after 17 μs
<code>
<?
require 'template.php';
$db = new PDO('mysql:host=localhost;dbname=admin','admin','admin');
$id = $_GET['id'];
echo $id;
$stmt = $db->prepare("SELECT * FROM rm_products WHERE id=$id");
$stmt->execute();
$print = '';
$stmt->setFetchMode(PDO::FETCH_ASSOC);
while($stmt->fetch()){
echo $row['link'];
$print .= '<div class="product">';
//Создаем div - p-image
$print .= '<div class="p-image">'
//В таблице находим данные в столбцах "link" и "img"
.'<a href="' . $row['link'] . '"> <img src="/_media/' . $row['media'] . '.png"/></a>';
//Закрываем div
$print .= '</div>';
$print .= '<div class="p-title">'
.'<a href="' . $row['link'] . '"> ' . $row['title'] . ' </a>';
$print .= '</div>';
$print .= '<div class="p-description">'
.'<p> ' . $row['description'] . ' </p>';
$print .= '</div>';
//Закрываем div - Product
$print .= '</div>';
}
?>
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
function call() {
var msg = $('#orderform').serialize();
$.ajax({
type: 'POST',
url: 'action.php',
data: msg,
success: function(data) {
$('.product-popup').hide();
notifyMe();
//alert("Ваше сообщение отпрвлено!");
},
error: function(xhr, str){
alert('Возникла ошибка: ' + xhr.responseCode);
}
});
}
Но: В панеле эмуляции нажатий на теелфоне, если выбрать bacbuttons то ничего не происходит. А если xdk.device.hardware.back то тогда отображает. Скомпилил в apk установил и ничего :С
вообще мне нужно что бы по нажатию на нее, отменялось последнее действие, и возвращалось к предыдущей странице, или получается что бы предыдущая функция отменялась.