onchange=funcion (urgente)

tom2000
25 de Julio del 2003
Hola q tal, me preguntaba si esto esta bien implementado, ya q no me funciona:

tengo un <input type=text name=pueblo onChange="javascript:f_pueblo();">

<script language="Javascript">
function f_pueblo(){
window.document.form1.puebloculto.value = "Recibo.CodMunicipioFiscal Like '" + document.form1.pueblo.value + "%'";

¿Qué hay mal en este código?
Gracias.

Arturion
25 de Julio del 2003
El problema consiste en que al input le diste el nombre de "pueblo", y en la función usas "puebloculto". Cambia uno o cambia el otro, para que sean iguales. Saludos.

IceMan
25 de Julio del 2003
Buenas,
lo he estado probando y parece que funciona.

Solo se me ocurre que compruebes el nombre del formulario y el nombre del campo "puebloculto", para ver si son correctos.

Si no esta hay el problema, dinos que error es el que te da, para poder ayudarte más.

Salu2.

tom2000
25 de Julio del 2003
No me da ningún error, simplemente no me hace eso.

Yo lo que quiero hacer es rellenar unos campos ocultos segun el valor de unos textfields. Pero quiero q salga bien si el usuario utiliza una búsqueda (funciona correctamente) o si rellena él mismo esos campos manualmente.

Gracias.

IceMan
25 de Julio del 2003
Yo lo he probado así:

<script language="Javascript">
function f_pueblo(){
window.document.form1.puebloculto.value = "Recibo.CodMunicipioFiscal Like '" + document.form1.pueblo.value + "%'";
}
</script>

<form name="form1">

<input type=text name=pueblo onChange="javascript:f_pueblo();">
<input type=text name=puebloculto size=40>
</form>

y funciona bien. He cambiado el hidden por text para comprobarlo, y lo hace correctamente, por lo que es probable que el fallo no lo tengas aquí.

Siento no poderte ayudar más ;)

Salu2.

tom2000
25 de Julio del 2003
Perfect!! eso me funciona, pero....

¿Cómo modificarías esa función por si el usuario metiera más de un valor?, es decir q tiene q haber algo así como
"or Recibo.CodMunicipioFiscal Like '" + document.form1.pueblo.value + "%'";

pero claro, el value de pueblo puede ser 12135,12900 y si es este, la sql se quedaría
...like '12135,12900%' y no me encontraría ningún registro.

¿Alguna ayuda?
Gracias.


IceMan
25 de Julio del 2003
Prueba esto. No lo he probado ni depurado mucho. Espero que te valga.

<script language="Javascript">
function f_pueblo(){
var cadena = document.form1.pueblo.value;
var result = "";
if (cadena != "") {
arrayCadena = cadena.split(',');
result = "Recibo.CodMunicipioFiscal Like '" + arrayCadena[0] + "%'";
for (i=1;i<arrayCadena.length;i++) {
result += " or Recibo.CodMunicipioFiscal Like '" + arrayCadena[i] + "%'";
}
window.document.form1.puebloculto.value = result;
}
}
</script>
<form name="form1">
<input type=text name=pueblo onChange="javascript:f_pueblo();">
<input type=text name=puebloculto size=80>
</form>


Salu2.