Foros del Web » Programando para Internet » Javascript »

problemas con limitar textarea y contador de caracteres

Estas en el tema de problemas con limitar textarea y contador de caracteres en el foro de Javascript en Foros del Web. Buenas he hecho un contador de caracteres y cuando yege a ese cierto numero no me deja escribir mas pero nose porque no me los ...
  #1 (permalink)  
Antiguo 11/02/2012, 06:16
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
problemas con limitar textarea y contador de caracteres

Buenas he hecho un contador de caracteres y cuando yege a ese cierto numero no me deja escribir mas pero nose porque no me los cuenta nose si me falta algo por modificar o nose que problema tengo no me salen errores ninguno simplemente no cuenta miren este es el codigo que uso:
Código PHP:
<SCRIPT language="JavaScript" type="text/javascript">

function contador (campo, cuentacampo, limite) {
if (campo.value.length > limite) campo.value = campo.value.substring(0, limite);
else cuentacampo.value = limite - campo.value.length;
}

</script>
<?php
//Desarrollado por Jesus Liñán
//ribosomatic.com
//Puedes hacer lo que quieras con el código
//pero visita la web cuando te acuerdes

//Configuracion de la conexion a base de datos
$bd_host "localhost"
$bd_usuario "root"
$bd_password "Alamillo2612"
$bd_base "muroredsocial"
$con mysql_connect($bd_host$bd_usuario$bd_password); 
mysql_select_db($bd_base$con); 

//consulta los datos del empleado por su id
$idemp=$_POST['idemp'];

$sql=mysql_query("SELECT * FROM perfil WHERE id=$idemp",$con);

$row mysql_fetch_array($sql);

//valores de las consultas
$suel=$row['estado'];

//muestra los datos consultados en los campos del formulario
?>
<form name="frmempleado" action="" 
onsubmit="enviarDatosEmpleado(); return false">
    <input name="idempleado" type="hidden" value="<?php echo $idemp?>" />
  
    <textarea name="sueldo" rows="1" wrap=physical onKeyDown="contador(this.form.sueldo,this.form.remLen,150);" onKeyUp="contador(this.form.sueldo,this.form.remLen,150);" value="<?php echo $suel?>"></textarea>
    <input type="text" name="remLen" size="3" maxlength="3" value="150" readonly>
  <p>
    <input type="submit" name="Submit" value="Actualizar" />
  </p>
</form>
Nose si tengo algun fallo por favor necesito una mano gracias.
  #2 (permalink)  
Antiguo 11/02/2012, 17:06
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: problemas con limitar textarea y contador de caracteres

Nadie encuentra el error esque no me funciona y nose aque es debido nose si sera un fallo o que puede ser, gracias.
  #3 (permalink)  
Antiguo 12/02/2012, 07:21
Avatar de zarkiel  
Fecha de Ingreso: febrero-2012
Mensajes: 51
Antigüedad: 12 años, 2 meses
Puntos: 15
Respuesta: problemas con limitar textarea y contador de caracteres

Lo probé y funciona bien, sólo que en IE tienes que permitir la ejecución de scripts
__________________
« Los deseos pueden hacerse realidad, pero no basta con esperar un milagro, el milagro lo hacemos nosotros... Aquí y ahora »
  #4 (permalink)  
Antiguo 12/02/2012, 13:23
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: problemas con limitar textarea y contador de caracteres

ya arregle que contase los caracteres pero lo que pasa es que al registrar no me muestra los datos que acabo de registrar nose por que, si tiene un include ala consulta sabeis que es lo que puede fallar? pondre codigo pero aora no lo tengo amano. gracias.
  #5 (permalink)  
Antiguo 12/02/2012, 16:00
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: problemas con limitar textarea y contador de caracteres

aki esta el codigo:
consulta1.php
Código PHP:
<?php

//Configuracion de la conexion a base de datos
$bd_host "localhost"
$bd_usuario "root"
$bd_password "Alamillo2612"
$bd_base "muroredsocial"
$con mysql_connect($bd_host$bd_usuario$bd_password); 
mysql_select_db($bd_base$con); 

//consulta todos los empleados
$perfil=$_GET['id'];
$sql=mysql_query("SELECT * FROM perfil where id_logueado='$perfil'",$con);

//muestra los datos consultados
//haremos uso de tabla para tabular los resultados
?>

<?php
while($row mysql_fetch_array($sql)){
    
//mediante el evento onclick llamaremos a la funcion PedirDatos(), la cual tiene como parametro
    //de entrada el ID del empleado
    
echo "         <a style=\"cursor:pointer;\" onclick=\"pedirDatos('".$row['id_logueado']."')\">".$row['estado']."</a>";
    
}
?>
consulta_por_id.php
Código PHP:
<html>
<head>
<SCRIPT language="JavaScript" type="text/javascript">

function contador (campo, cuentacampo, limite) {
if (campo.value.length > limite) campo.value = campo.value.substring(0, limite);
else cuentacampo.value = limite - campo.value.length;
}

</script>
</head>
<body>
<?php
//Desarrollado por Jesus Liñán
//ribosomatic.com
//Puedes hacer lo que quieras con el código
//pero visita la web cuando te acuerdes

//Configuracion de la conexion a base de datos
$bd_host "localhost"
$bd_usuario "root"
$bd_password "Alamillo2612"
$bd_base "muroredsocial"
$con mysql_connect($bd_host$bd_usuario$bd_password); 
mysql_select_db($bd_base$con); 

//consulta los datos del empleado por su id
$idemp=$_POST['idemp'];

$sql=mysql_query("SELECT * FROM perfil WHERE id=$idemp",$con);

$row mysql_fetch_array($sql);

//valores de las consultas
$suel=$row['estado'];

//muestra los datos consultados en los campos del formulario
?>
<center>
<form name="frmempleado" onsubmit="enviarDatosEmpleado(); return false">
<input name="idempleado" type="hidden" value="<?php echo $idemp?>" />
<textarea name="sueldo" wrap=physical cols="28" rows="1" onKeyDown="contador(this.form.sueldo,this.form.remLen,150);" onKeyUp="contador(this.form.sueldo,this.form.remLen,150);" onClick="if(this.value == '<?php echo $suel?>')this.value = '';"><?php echo $suel?></textarea>
<input type="text" name="remLen" size="3" maxlength="3" value="150" readonly>
<input type="submit" name="Submit" value="Actualizar" />
</center>
</body>
</htm>
actualizacion.php
Código PHP:
<?php
//Desarrollado por Jesus Liñán
//[email protected]
//ribosomatic.com
//Puedes hacer lo que quieras con el código
//pero visita la web cuando te acuerdes

//Configuracion de la conexion a base de datos
$bd_host "localhost"
$bd_usuario "root"
$bd_password "Alamillo2612"
$bd_base "muroredsocial"
$con mysql_connect($bd_host$bd_usuario$bd_password); 
mysql_select_db($bd_base$con); 

//variables POST
$idemp=$_POST['idempleado'];
$suel=$_POST['sueldo'];

//actualiza los datos del empleados
$sql="UPDATE perfil SET estado='$suel' WHERE id_logueado=$idemp";

mysql_query($sql,$con);

include(
'consulta1.php');
?>
y por ultimo ajax.js
Código PHP:
//Desarrollado por Jesus Liñán
//[email protected]
//ribosomatic.com
//Puedes hacer lo que quieras con el código
//pero visita la web cuando te acuerdes

function objetoAjax(){
    var 
xmlhttp=false;
    try {
        
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (
e) {
        try {
           
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (
E) {
            
xmlhttp false;
          }
    }

    if (!
xmlhttp && typeof XMLHttpRequest!='undefined') {
        
xmlhttp = new XMLHttpRequest();
    }
    return 
xmlhttp;
}

function 
enviarDatosEmpleado(){
    
//donde se mostrará lo resultados
    
divResultado document.getElementById('resultado');
    
divFormulario document.getElementById('formulario');
    
//valores de los inputs
    
id=document.frmempleado.idempleado.value;
    
suel=document.frmempleado.sueldo.value;
    
    
//instanciamos el objetoAjax
    
ajax=objetoAjax();
    
//usando del medoto POST
    //archivo que realizará la operacion
    //actualizacion.php
    
ajax.open("POST""actualizacion.php",true);
    
ajax.onreadystatechange=function() {
        if (
ajax.readyState==4) {
            
//mostrar los nuevos registros en esta capa
            
divResultado.innerHTML ajax.responseText
            
//mostrar un mensaje de actualizacion correcta
            
divFormulario.innerHTML "<p style=\"border:1px solid red; width:400px;\">La actualizaci&oacute;n se realiz&oacute; correctamente</p>";
        }
    }
    
//muy importante este encabezado ya que hacemos uso de un formulario
    
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    
//enviando los valores
    
ajax.send("idempleado="+id+"&sueldo="+suel)
}

function 
pedirDatos(idempleado){
    
//donde se mostrará el formulario con los datos
    
divFormulario document.getElementById('formulario');
    
    
//instanciamos el objetoAjax
    
ajax=objetoAjax();
    
//uso del medotod GET
    
ajax.open("POST""consulta_por_id.php");
    
ajax.onreadystatechange=function() {
        if (
ajax.readyState==4) {
            
//mostrar resultados en esta capa
            
divFormulario.innerHTML ajax.responseText
            
//mostrar el formulario
            
divFormulario.style.display="block";
        }
    }
    
//como hacemos uso del metodo GET
    //colocamos null
    
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    
//enviando los valores
    
ajax.send("idemp="+idempleado)
}
function 
contador (campocuentacampolimite) {
if (
campo.value.length limitecampo.value campo.value.substring(0limite);
else 
cuentacampo.value limite campo.value.length;

  #6 (permalink)  
Antiguo 13/02/2012, 05:05
 
Fecha de Ingreso: noviembre-2011
Mensajes: 516
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: problemas con limitar textarea y contador de caracteres

Al modificar el $perfil y poner esto $perfil=$_GET['id']; ya nose actualiza automaticamente algien sabe que es lo que puede ser??? esque antes funcionaba bien

Etiquetas: caracteres, contador, formulario, input, limitar, php, textarea
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:26.