Este es el archivo que tengo donde valido los demas campos que tengo en mi formulario y en donde quiero incluir la validacion del checkbox.
vale_entradas.js
Cita:
Este es el archivo php:/******************Validacion de rmreqreg***********************/
function validacion_valeentradas(frmvaleentradas) {
error = validarfolio(frmvaleentradas.txtfolio.value)
error += validarremfact(frmvaleentradas.txtremfact.value)
if (error == ""){
return true
} else {
alert(error);
return false
}
}
function validarfolio(campo) {
if (campo == ""){
return "- No se ha introducido un Folio.\n"
} else if(/[^0-9]/.test(campo)){
return "- Campo Folio debe contener solo números.\n"
} else{
return ""
}
}
function validarremfact(campo) {
if (campo == ""){
return "- No se ha introducido un número de Remisión o Factura.\n"
} else if(/[^0-9]/.test(campo)){
return "- Campo Remisión o Factura debe contener solo números.\n"
} else{
return ""
}
}
function validacion_valeentradas(frmvaleentradas) {
error = validarfolio(frmvaleentradas.txtfolio.value)
error += validarremfact(frmvaleentradas.txtremfact.value)
if (error == ""){
return true
} else {
alert(error);
return false
}
}
function validarfolio(campo) {
if (campo == ""){
return "- No se ha introducido un Folio.\n"
} else if(/[^0-9]/.test(campo)){
return "- Campo Folio debe contener solo números.\n"
} else{
return ""
}
}
function validarremfact(campo) {
if (campo == ""){
return "- No se ha introducido un número de Remisión o Factura.\n"
} else if(/[^0-9]/.test(campo)){
return "- Campo Remisión o Factura debe contener solo números.\n"
} else{
return ""
}
}
Código PHP:
<?php
//archivo en caso de que entren a esta pagina sin haber iniciado sesion
include('script.php');
?>
<?php # SCIRM vale de entradas - vale_entradas.php
//Se incluye el titulo y encabezado
$page_title = "SCI Vale de Entradas :: Vale de Entradas";
$page_header = "SCI Vale de Entradas :: Vale de Entradas";
$menu_title = "Opciones Vale";
$form_header = "Registro :: Vale de Entradas";
//Bandera para el cambio de menu
$menu_flag = "rmvale";
//Se incluye header y form
include ('includes/header.php');
include ('includes/form.php');
?>
<script type="text/javascript" src="Validaciones/vale_entradas.js"></script>
<?php
require('mysqli_conexion.php');
require('mysqli_conexion_rm2.php');
//se obtiene en una variable el id de vale al que se esta haciendo referencia
$idv = $_GET['idv'];
echo '<form action="vale_entradas.php?idv='.$idv.'" onsubmit="return validacion_valeentradas(this)" method="post" name="form" autocomplete="off">';
//se obtienen todos los productos del vale al que se esta haciendo referencia
$q = "SELECT idpi,cantidad FROM productos_vale WHERE idv='$idv'";
$r = mysqli_query($dbc_rm,$q);
$num = mysqli_num_rows($r);
if($num > 0){
echo 'Folio: <input name="txtfolio" value="'.$txtfolio.'" type="text" size="14" style="text-align:center"/>
Remision o Factura(N°): <input name="txtremfact" value="'.$txtremfact.'" type="text" size="14" style="text-align:center"/>
<p></p>
<table align="center" cellspacing="3" cellpadding="3" width="100%">
<tr>
<td align="center"><b>Estado</b></td>
<td width="80%" align="center"><b>Producto de Vale</b></td>
<td width="20%" align="center"><b>Cantidad</b></td>
</tr>';
while($row = mysqli_fetch_array($r)){
$idpi = $row['idpi'];
$qidpi = "SELECT descripcion FROM productos_inventario WHERE idpi='$idpi'";
$ridpi = mysqli_query($dbc_rm,$qidpi);
$rowdesc = mysqli_fetch_array($ridpi);
$desc = $rowdesc['descripcion'];
echo '<tr>
<td align="center"><input name="productos[]" type="checkbox" value="'.$idpi.'"/></td>';
//se determina la longuitud de la descripcion
$num = strlen($desc);
if($num > 36){
$tamano = 32; // tamaño máximo
$contador = 0;
$desc = $desc;
// Cortamos la cadena por los espacios
$arrayTexto = split(' ',$desc);
//se vacia la variable desc
$desc = '';
// Reconstruimos la cadena
while($tamano >= strlen($desc) + strlen($arrayTexto[$contador])){
$desc .= ' '.$arrayTexto[$contador];
$contador++;
}
$desc = $desc.'...';
}else{
$desc = $desc;
}
echo '<td align="center">'.$desc.'</td>
<td align="center"><input name="txt['.$idpi.']" value="'.$row['cantidad'].'" type="text" size="3" style="text-align:center"/></td>
</tr>';
}
echo '</table>';
}else {
echo '<p class="error">No se encuentran productos registrados para este vale</p>';
?>
<script type="text/javascript">
document.form.btnregistrar.disabled = true;
</script>
<?php
}
echo '<br><p><input type="submit" name="btnregistrar" value="Registrar"/><input type="hidden" name="submitted" value="TRUE"/></p>';
echo '</form>';
if (isset($_POST['submitted'])) {
$fecha = date('Y-m-d');
$hora= date('g:i:s');
//se insertan los registros a la tabla entradas_almacen
$qe = "INSERT INTO entradas_almacen(idv,folio,rem_fact,fecha,hora) VALUES ('$idv','$txtfolio','$txtremfact','$fecha','$hora')";
$re = mysqli_query($dbc_rm,$qe);
//Seleccionar el idea maximo insertado
$qmax = "SELECT MAX(idea) AS idea FROM entradas_almacen";
$rmax = mysqli_query($dbc_rm,$qmax);
$rowmax = mysqli_fetch_array($rmax);
$idea = $rowmax['idea'];
foreach ($_POST['productos'] as $idpi){
$cantidad = $_POST['txt'][$idpi];
//saber la cantidad anterior
$qcantant = "SELECT cantidad FROM productos_inventario WHERE idpi='$idpi'";
$rcantant = mysqli_query($dbc_rm,$qcantant);
$rowcantant = mysqli_fetch_array($rcantant);
//se insertan los registros a la tabla productos_entradas_almacen
$q = "INSERT INTO productos_entradas_almacen(idea,idpi,cantidad,existencia_inicial) VALUES ('$idea','$idpi','$cantidad','".$rowcantant['cantidad']."')";
$r = mysqli_query($dbc_rm,$q);
//se actualiza la cantidad en productos_inventario
$qac = "UPDATE productos_inventario SET cantidad = cantidad+'$cantidad' WHERE idpi='$idpi'";
$rac = mysqli_query($dbc_rm,$qac);
}
//si fue insertado manda un mensaje
if($r && $rac){
include ('includes/menu.php');
include ('includes/footer.html');
?>
<script type="text/javascript">
alert("Registro realizado!!!");
document.location.href='http://localhost/Sistema%20Precidencia%20de%20Guadalupe/rmconval.php';
</script>
<?php
} elseif(mysqli_errno($dbc_rm)==1062) { //numero de error que indica que se introdujo un valor ya existente en la base de datos
include ('includes/menu.php');
include ('includes/footer.html');
?>
<script type="text/javascript">
alert("El folio o el número de Remisíon o Factura introducido ya existe, porfavor verifica los dos campos y realiza el cambio correspondiente");
</script>
<?php
}
}
?>
<?php
if (!isset($_POST['submitted'])) {
include ('includes/menu.php');
include ('includes/footer.html');
}
?>