Tomar foto desde cámara web

Disculpa la molestia pero tengo un código que me
tiene loco
Si no me entiende la explicación me dices tengo un
sistema de asistencia en donde el usuario llega a la PC
coloca su código de acceso en una caja
de texto y con una cámara web le toma la foto
mediante un click la verdad me funciona bien lo malo es que primero toma la
foto y después coloca el código y así la foto la cual le quiero colocar como
nombre
es el código del usuario, la fecha y la hora pero no sé cómo hacer para
que primero tome el código de acceso y después
al presionar enter tome la foto si me puedes oriental
para solucionar el problema te lo agradecería

Este es la página
Donde encontré el demo de la foto
http://www.ajaxshake.com/es/JS/238601/como-crear-un-photobooth-con-css-jquery-y-php-photobooth.html
photobooth\assets\js
aquí está un archivo que se llama script.js en la línea 31 hay esta la función
que
hace el click
var shootEnabled = false;
$('#shootButton').click(function(){
//esto es lo que quiero cambiar
if(!shootEnabled){
return
false;
}
webcam.freeze();
togglePane();
return false;
});
$('#cancelButton').click(function(){
webcam.reset();
togglePane();
return false;
});
$('#uploadButton').click(function(){
webcam.upload();
webcam.reset();
togglePane();
return false;
});
camera.find('.settings').click(function(){
if(!shootEnabled){
return
false;
}
webcam.configure('camera');
});
// Showing and hiding the
camera panel:
var shown = false;
$('.camTop').click(function(){
$('.tooltip').fadeOut('fast');
if(shown){
camera.animate({
bottom:-466
});
}
else {
camera.animate({
bottom:-5
},{easing:'easeOutExpo',duration:'slow'});
}
shown =
!shown;
});
$('.tooltip').mouseenter(function(){
$(this).fadeOut('fast');
});

1 Respuesta

Respuesta
1

Coloca el evento de la fotografía en el onblur del campo, despu´`es de comprobar que está lleno con datos.

De antemano gracias por contestar Me da error si le coloco onblur pero lo coloque así blur no me da error pero me guarda el código en la base de datos pero la foto no me la toma

$(document).ready(function(){
 var camera = $('#camera'),
 photos = $('#photos'),
 screen = $('#screen');
 var template = '<a href="uploads/original/{src}" rel="cam" '
 +'style="background-image:url(uploads/thumbs/{src})"></a>';
 /*----------------------------------
 Configuración de la cámara web
 ----------------------------------*/
 webcam.set_swf_url('assets/webcam/webcam.swf');
 webcam.set_api_url('upload.php'); //El script de carga webcam.set_api_url('upload.php');
 webcam.set_quality(80); //JPEG Photo Quality
 webcam.set_shutter_sound(true, 'assets/webcam/shutter.mp3');
 // Generar el código de inserción y de añadir a la página:
 screen.html(
 webcam.get_html(screen.width(), screen.height())
 );
 /*----------------------------------
 Detectores de eventos de unión
 ----------------------------------*/
 var shootEnabled = false; 
 $('#formulario').blur (function(){
 if(!shootEnabled){
 return false;
 }
 webcam.snap();
 togglePane();
 return false;
 });
 $('#cancelButton').click(function(){
 webcam.reset();
 togglePane();
 return false;
 });
 $('#formulario').blur(function(){
 webcam.snap();
 webcam.reset();
 togglePane();
 return false;
 });
 camera.find('.settings').select(function(){
 if(!shootEnabled){
 return false;
 }
 webcam.configure('camera');
 });
 // Mostrar y ocultar el panel de la cámara:
 var shown = false;
 $('.camTop')(function(){
 $('.tooltip').fadeOut('fast');
 if(shown){
 camera.animate({
 bottom:-466
 });
 }
 else {
 camera.animate({
 bottom:-5
 },{easing:'easeOutExpo',duration:'slow'});
 }
 shown = !shown;
 });
 $('.tooltip').mouseenter(function(){
 $(this).fadeOut('fast');
 });
 /*---------------------- 
 Devoluciones de llamada
 ----------------------*/
 webcam.set_hook('onLoad',function(){
 // Cuando se carga el flash, permiten
 // Los botones de configuración y Shoot:
 shootEnabled = true;
 });
 webcam.set_hook('onComplete', function(msg){
 // Esta respuesta es devuelto por upload.php
 // Y que tiene el nombre de la imagen en un
 // JSON formato de objeto:
 msg = $.parseJSON(msg);
 if(msg.error){
 alert(msg.message);
 }
 else {
 // Añadir a la página;
 photos.prepend(templateReplace(template,{src:msg.filename}));
 initFancyBox();
 }
 });
 webcam.set_hook('onError',function(e){
 screen.html(e);
 });
 /*-------------------------------------
 Rellenar la página con imágenes
 -------------------------------------*/
 var start = '';
 function loadPics(){
 // Esto es cierto cuando se llama loadPics
 // Como un controlador de eventos para el botón LoadMore:
 if(this != window){
 if($(this).html() == 'Loading..'){
 // La prevención más que un clic
 return false;
 }
 $(this).html('Loading..');
 }
 // La emisión de una petición AJAX. El parámetro de inicio
 // Está vacío o contiene el nombre de la primera
 // Imagen que se mostrará. Útil para paginación:
 $.getJSON('browse.php',{'start':start},function(r){
 photos.find('a').show();
 var loadMore = $('#loadMore').detach();
 if(!loadMore.length){
 loadMore = $('<span>',{
 id : 'loadMore',
 html : 'Load More',
 blur : loadPics
 });
 }
 $.each(r.files,function(i,filename){
 photos.append(templateReplace(template,{src:filename}));
 });
 // Si hay una página siguiente con imágenes: 
 if(r.nextStart){
 // r.nextStart contiene el nombre de la imagen
 // Que viene después de la última que se muestra actualmente.
 start = r.nextStart;
 photos.find('a:last').hide();
 photos.append(loadMore.html('Load More'));
 }
 //Tenemos que FancyBox reiniciar cada
 // Vez que agregamos nuevas fotos a la página:
 initFancyBox();
 });
 return false;
 }
 // Llamar automáticamente a loadPics
 // Rellenar la página onload:
 loadPics();
 /*----------------------
 funciones auxiliares
 ------------------------*/
 // Esta función inicializa el
 // FancyBox script de lightbox.
 function initFancyBox(filename){
 photos.find('a:visible').fancybox({
 'transitionIn' : 'elastic',
 'transitionOut' : 'elastic',
 'overlayColor' : '#111'
 });
 }
 // Esta función activa o desactiva los dos
 // ButtonPane divs en la visibilidad: visible
 function togglePane(){
 var visible = $('#camera .buttonPane:visible:first');
 var hidden = $('#camera .buttonPane:hidden:first');
 visible.fadeOut('fast',function(){
 hidden.show();
 });
 }
 // Función para reemplazar / Helper "{KEYWORD}" con
 // Los valores de respeto de un objeto:
 function templateReplace(template,data){
 return template.replace(/{([^}]+)}/g,function(match,group){
 return data[group.toLowerCase()];
 });
 }
});

¿Cuál es el error que sale?

Gracias por seguir intentarlo te lo agradezco ya no se qué
hacer con este código

No sale error el sistema funciona bien lo que pasa es que quiero que tome la foto
cuando oprima enter y que el nombre de la foto sea el código que se ingrese

¿Has probado a leer la documentación del script?

Si ya ley la documentación del script me he metido en foros
y nada

Has probado a utilizar exclusivamente el código que te dan, ¿sin tocar nada?, ¿Funciona?, ¿Has podido preguntar al autor del script?

1.
Le envié al autor del script y no contesta
2.
Ya probé colocando el código original y nada
porque el código original tiene unos botones para tomar la fotos y nada
3.
Es más el código original coloca de nombre de la
foto es un md5 aleatorio pero que pasa que en código que yo ingreso no le llega
porque primero toma la foto y después agrega el código.
4.
Yo la cambien colocando de nombre de la foto
fecha+hora me falta que agarre el código para que sea código+fecha+hora y así poder llamar al registro con la foto

Si no te contesta es que no dará soporte, ¿has probado con otro script?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas