Foros del Web » Programando para Internet » Javascript »

separa palabras

Estas en el tema de separa palabras en el foro de Javascript en Foros del Web. hola necesito si alguien me puede ayudar.....necesito que en un textarea escribir varias palabras separadas por comas(,) para que me las tome como si escribiera ...
  #1 (permalink)  
Antiguo 02/11/2004, 20:53
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
separa palabras

hola necesito si alguien me puede ayudar.....necesito que en un textarea escribir varias palabras separadas por comas(,) para que me las tome como si escribiera una a una en la base de datos...me dijeron que esto se hacia con javascript por eso pregunto aqui por favor si alguien me puede ayudar.....y que a la vez no me acepte sino comas(,)ningun otro signo...les agradezco su ayuda
__________________
paty :adios:
  #2 (permalink)  
Antiguo 03/11/2004, 08:00
 
Fecha de Ingreso: agosto-2004
Mensajes: 157
Antigüedad: 19 años, 8 meses
Puntos: 5
Hola niltza

La idea de este script es que cuando el usario abandone el campo este se corriga automaticamente, asi si el usuario olvida escribir una coma o añade un espacio por error no le molestemos con constantes avisos.

Solo permite que introduzca letras, si quires que permita escribir otro caracter dimelo, estare por aqui.


Código PHP:

<html>
<
head>
<
title>Untitled</title>
</
head>
<
script language=JavaScript type=text/javascript>
<!--
function 
insert_comas(current){
  
  var 
regChar = /[^a-zñáéíóúü]/ig
  
var regComas = /s+/g
  
var regFinal = /,$/
  
words =current.textarea1.value.replace(regChar," ")
  
words =words.replace(regComas,",")
  
words =words.replace(regFinal,"")
  
current.textarea1.value words

}

//-->
</script>

<body>
<form  name="form1">
Por favor introduza las palabras separadas por comas.<sup>*Solo se permiten letras</sup><br>
<textarea rows="10" cols="50" name="textarea1" onBlur ="insert_comas(this.form)">

</textarea>

</form>
</body>
</html> 
Espero que te sirva.
Un saludo.
  #3 (permalink)  
Antiguo 03/11/2004, 08:34
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
nose

creo q no me funciono mira es lo siguiente....que en un campo si yo escribo estas palabras: manual mysql php....deben estar separadas por comas y no se debe admitir nigun otro caracter como punto ni espacio es decir que las palabras deben quedar asi: manual,mysql,php

gracias
__________________
paty :adios:
  #4 (permalink)  
Antiguo 03/11/2004, 10:20
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
Pregunta script

mira encontre este codigo pero no he podido hacer q aparte de q me acepte solo letras me acepte la coma(,) donde la pongo nose como
gracias.....el codigo asci de la coma es 44
*****************************
<html>
<head>
<title></title>

<head>

<script language="JavaScript">
<!--
var nav4 = window.Event ? true : false;
function acceptNum(evt){
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57
var key = nav4 ? evt.which : evt.keyCode;

return (key <= 13 || (key >= 97 && key <= 122));

}
//-->
</script>

</head>
<body>

<p><input type="text" name="valor" onKeyPress= "return acceptNum(event)"></p>

</body>

</html>
**********************************************
__________________
paty :adios:
  #5 (permalink)  
Antiguo 03/11/2004, 10:23
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
creo que ya encontre

tocan era en vez de:
return (key <= 13 || (key >= 97 && key <= 122));

tenia simplemente que cambiar por

return (key == 44 || (key >= 97 && key <= 122));
__________________
paty :adios:
  #6 (permalink)  
Antiguo 03/11/2004, 10:33
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
ahora necesito

pero lo que necesito ahora es que me valide que no vayan a ir seguidas dos comas(,) porfavor si me pueden ayudar gracias
aqui repito el codigo por si lo necesitan:

<html>
<head>
<title></title>

<head>

<script language="JavaScript">
<!--
var nav4 = window.Event ? true : false;
function acceptNum(evt){
// NOTE: Backspace = 8, coma(,)=44, 'a' = 97, 'z' = 122
var key = nav4 ? evt.which : evt.keyCode;
return (key == 44 || (key >= 97 && key <= 122));

}
//-->
</script>

</head>
<body>

<p><input type="text" name="valor" onKeyPress= "return acceptNum(event)"></p>

</body>

</html>
__________________
paty :adios:
  #7 (permalink)  
Antiguo 03/11/2004, 11:56
 
Fecha de Ingreso: agosto-2004
Mensajes: 157
Antigüedad: 19 años, 8 meses
Puntos: 5
Hola nikita


He modicado el script. Cuando el usario abandona el campo valida el formulario y en caso de encontrar mas de dos comas seguidas o al principio o al final de la cadena, elemina las comas que sobran.


Código PHP:

<html>
<
head>

<
script language="JavaScript">
<!--
function 
test_final(current){
 
  var 
regChar = /[^a-zñáéíóúü]/ig
  
var regComas = /s+/g
  
var regFinal = /,$/
  var 
regStart = /^,/
  
words =current.textarea1.value.replace(regChar," ")
  
words =words.replace(regComas,",")
  
words =words.replace(regStart,"")
  
words =words.replace(regFinal,"")
  
current.textarea1.value words
  

}



var 
nav4plus window.Event true false;
function 
acceptChar(evt,obj){    
var 
msk = /[a-zñáéíóú,]/i
var key nav4plus evt.which evt.keyCode;
if(
key == 8) { return true}
if(
msk.test(String.fromCharCode(key))){ return true}
else{return 
false}

}


//-->
</script>

</head>

<body>
<form  name="form1">
Por favor introduza las palabras separadas por comas.<sup>*Solo se permiten letras</sup><br>
<textarea rows="10" cols="50" name="textarea1"  onKeyPress="return acceptChar(event, this)" onBlur ="test_final(this.form)">

</textarea>

</form> 
</body>
</html> 
Un saludo
  #8 (permalink)  
Antiguo 03/11/2004, 12:59
 
Fecha de Ingreso: agosto-2004
Mensajes: 157
Antigüedad: 19 años, 8 meses
Puntos: 5
Hola de nuevo nikita

Vaya, al enviar el codigo dentro de las etiquetas de codigo PHP me elemina algunas barras inclinadas.
Te envio de nuevo todo el codigo.



<html>
<head>

<script language="JavaScript">
<!--
function test_final(current){

var regChar = /[^a-zñáéíóúü]/ig
var regComas = /\s+/g
var regFinal = /,$/
var regStart = /^,/
words =current.textarea1.value.replace(regChar," ")
words =words.replace(regComas,",")
words =words.replace(regStart,"")
words =words.replace(regFinal,"")
current.textarea1.value = words


}



var nav4plus = window.Event ? true : false;
function acceptChar(evt,obj){
var msk = /[a-zñáéíóú,]/i
var key = nav4plus ? evt.which : evt.keyCode;
if(key == 8) { return true}
if(msk.test(String.fromCharCode(key))){ return true}
else{return false}

}


//-->
</script>

</head>

<body>
<form name="form1">
Por favor introduza las palabras separadas por comas.<sup>*Solo se permiten letras</sup><br>
<textarea rows="10" cols="50" name="textarea1" onKeyPress="return acceptChar(event, this)" onBlur ="test_final(this.form)">

</textarea>

</form>
</body>
</html>



Espero que te sirva

Un saludo
  #9 (permalink)  
Antiguo 05/11/2004, 08:12
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 8 meses
Puntos: 2
gracias

gracias por contestar , pero encontre un codigo mas simple y funciona perfecto y es el siguiente:
<html>
<head>
<title>solotexto.php</title>

<head>

<script language="JavaScript">
<!--
var nav4 = window.Event ? true : false;
function acceptNum(evt){
// NOTE: Backspace = 8, coma(,)=44, 'a' = 97, 'z' = 122
var key = nav4 ? evt.which : evt.keyCode;
return (key == 44 || (key >= 65 && key <= 90)||(key >= 97 && key <= 122));

}
//-->
</script>

</head>
<body>

<form action="probar.php" method="post" >
<input name="palabras" type="text" id="palabras" onKeyPress= "return acceptNum(event)">
<input name="enviar" type="submit" value="enviar">
</form>
</body>
</html>

y aqui va tambien lo construye a mayusculas "probar.php"

<?php
$conexion=mysql_connect("localhost","root","");
mysql_select_db("ASSYS",$conexion);

$palabras=$_POST["palabras"];
$palabras = strtoupper($palabras);
$cadenas = explode(",", $palabras);
while (list($indice, $palabra)=each($cadenas))
{
if (!($palabra ==""))
{
mysql_query("insert into palabras values ('$palabra')",$conexion);
}
}
?>

/////////////////
por si alguien lo necesita pero de todas maneras mil gracias
__________________
paty :adios:
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 14:13.