Nuevo campo de texto limitado

This commit is contained in:
humano 2014-09-26 08:57:47 -05:00
parent 9466ed5479
commit 2a66ae155f
3 changed files with 2271 additions and 0 deletions

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -986,6 +986,10 @@ if($tipo =='16'){
if($valores =='') {$valores = "1,10";}
$resultado = " <textarea class='form-control' id='opciones' name='opciones' title='Valor mínimo y máximo' placeholder='Escriba Valor mínimo y máximo separadas por coma 1,10'>$valores</textarea>";
}
if($tipo =='17'){
$resultado ="<input class='form-control' type='number' id='opciones' name='opciones' value='$valores' placeholder='Limite' title='Escriba un limite de caracteres para este campo' > ";
}
$respuesta->addAssign("$div","innerHTML",$resultado);
return $respuesta;
}
@ -1605,7 +1609,17 @@ $consulta ="
elseif($campo_tipo_accion == 'envio'){$render = "<code>Se enviará un correo electrónico a este email</code>
<input value='$value' type='email' id='$id_campo' name='$id_campo' class='form-control' placeholder='$campo_descripcion' > ";}
elseif($campo_tipo_accion == 'textarea'){$render = "<textarea id='$id_campo' name='$id_campo' class='form-control' placeholder='$campo_descripcion' >$value</textarea> ";}
elseif($campo_tipo_accion == 'limit'){
$limite = limite("$id_campo",'');
$rows = ceil($limite / 50 )+1;
$render = "$limite /
<span id='aviso_$id_campo' class='alert-info'></span> <textarea onkeyup= \"xajax_limite('$id_campo',(this.value));\" cols='50' rows='$rows' id='$id_campo' name='$id_campo' class='form-control' placeholder='$campo_descripcion' >$value</textarea>
";
}
elseif($campo_tipo_accion == 'select'){
$select = select('form_campos_valores','campo_valor','campo_valor','',"id_form_campo = $id_campo","$id_campo");
$render = "$select ";}
elseif($campo_tipo_accion == 'number'){$render = "<code>(Este campo solo acepta números)</code>
@ -1662,7 +1676,17 @@ $id_campo = "$row[id_campo]";
$respuesta->addAssign("input_"."$id_campo","className"," input-group has-success ");
}
}
if($row[campo_tipo] =='17') {
$limite = limite("$id_campo",'');
$size= strlen($formulario[$row[id_campo]]);
$restante = ($limite - $size);
if( $restante < 0) {
$respuesta->addAssign("input_"."$id_campo","className"," input-group has-error ");
$respuesta->addAlert("ATENCION: El campo $row[campo_nombre] no debe tener mas de $limite caractéres $restante");
return $respuesta;
}
}
if($row[obligatorio] ==='1')
{
if( $formulario[$id_campo] =='') {
@ -1961,6 +1985,40 @@ $resultado="<div class='input-group'>
return $resultado;
}
function limite($id_campo,$contenido){
$link=Conectarse();
mysql_query("SET NAMES 'utf8'");
$consulta = "SELECT campo_valor FROM form_campos_valores WHERE id_form_campo ='$id_campo' ";
$sql=mysql_query($consulta,$link);
if (mysql_num_rows($sql)!='0'){
$limite=mysql_result($sql,0,"campo_valor");
}else{}
if($contenido !='') {
$respuesta = new xajaxResponse('utf-8');
$size= strlen($contenido);
$restante = ($limite - $size);
if( $restante<=1) {
$respuesta->addAssign("aviso_$id_campo","className","alert-danger ");
$respuesta->addAssign("input_$id_campo","className","has-error ");
}
elseif( $restante<=10) {
$respuesta->addAssign("aviso_$id_campo","className","alert-warning ");
$respuesta->addAssign("input_$id_campo","className","has-warning ");
}else{
$respuesta->addAssign("aviso_$id_campo","className","alert-succes ");
$respuesta->addAssign("input_$id_campo","className","has-success ");
}
$respuesta->addAssign("aviso_$id_campo","innerHTML","$restante");
return $respuesta;
}
return $limite;
}
$xajax->registerFunction("limite");
function confirma_campo($valor_1,$valor_2,$campo,$campo_confirmacion){
$respuesta = new xajaxResponse('utf-8');
$pos = strpos($campo,"email");