Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Problema con función :(

Estas en el tema de Problema con función :( en el foro de Jquery en Foros del Web. Buenos días a todos en foros del web Para poner en contexto, estoy intentando hacer una función que, tome el valor de un campo de ...
  #1 (permalink)  
Antiguo 06/01/2015, 11:30
 
Fecha de Ingreso: junio-2014
Mensajes: 18
Antigüedad: 9 años, 11 meses
Puntos: 0
Problema con función :(

Buenos días a todos en foros del web

Para poner en contexto, estoy intentando hacer una función que, tome el valor de un campo de texto, separe la cadena que estaba en el campo por cada espacio, que tiene, y con esa información generar un código de 6 dígitos con las 3 primeras letras de las palabras separadas. ejemplo:

en el campo de texto ingresan: tienda la patria

la función debería generar un código como tielap

Ahora el problema es que no me pasa de un if, no sé por qué

Cualquier ayuda es bienvenida. Muchas gracias a todos

Adjunto el codigo

Código HTML:
<?php Yii::app()->clientScript->registerScript('Codigo',"

			$('#Cliente_razonsocial').change(function() {  

			var nombre = $('#Cliente_razonsocial').val();
  			var sinPunto = nombre.replace ('.','');
  			var separa = sinPunto.split(' ');
  			var palabra0Recorte;
  			var palabra1Recorte;
  			var palabra2Recorte;
  			var codEmp;
  			var parcial;

  			if (separa[0] != 'undefined'){  			
  			var palabra0 = separa[0];
  			palabra0Recorte = palabra0.substr(0,3);
  			}
  			alert(palabra0Recorte)

  			if (separa[1] != 'undefined'){
  		    var palabra1 = separa[1];
  		    palabra1Recorte = palabra1.substr(0,3);
  			}
  			alert(palabra1Recorte);

  			if (separa[2] != 'undefined'){
  			var palabra2 = separa[2];
  		    palabra2Recorte = palabra2.substr(0,3);
  			}
  			alert(palabra2Recorte);

  			if((palabra0Recorte!='undefined' && palabra1Recorte!='undefined') && palabra2Recorte!='undefined')
  			{  	alert('largo');
  				parcial = palabra0Recorte+palabra1Recorte+palabra2Recorte;
  				codEmp = parcial.substr(0,6);
  				alert(codEmp);
  			}

  			else if((palabra0Recorte!='undefined') && (palabra1Recorte!='undefined'))  //// Este  es el if que no funciona, debería funcionar cuando hay 2 palabras dentro de la cadena!!!!!![/COLOR]
  			{
  				alert('medio');
  				parcial = palabra0Recorte+palabra1Recorte;
  				codEmp1 = parcial.substr(0,6);
  				alert(codEmp);	
  			}

  			else{
  				alert('corto');
  		    parcial = palabra0Recorte;  		    
  		    codEmp = parcial.substr(0,6);
  		    alert(codEmp);
  			}

 			 $('#Cliente_clientecod').val(codEmp);
			});

		"); ?>
  #2 (permalink)  
Antiguo 06/01/2015, 16:35
(Desactivado)
 
Fecha de Ingreso: enero-2013
Mensajes: 289
Antigüedad: 11 años, 3 meses
Puntos: 10
Respuesta: Problema con función :(

alert(palabra0Recorte)

no le has puesto punto y coma al final de este alert

otra cosa, tal y como me comentaron hace un par de días, usar comillas dobles en PHP es más ineficiente que las comillas simples, pues hace 2 pasadas: 1 para sustituir variables y la otra para la salida
  #3 (permalink)  
Antiguo 07/01/2015, 06:55
 
Fecha de Ingreso: junio-2014
Mensajes: 18
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Problema con función :(

Muchas gracias por responder moginn, entonces he corregido eser par de cosas q me comentaste, no sabía lo de las comillas.
Pero aún no funciona, alguna otra idea??
  #4 (permalink)  
Antiguo 07/01/2015, 07:51
(Desactivado)
 
Fecha de Ingreso: enero-2013
Mensajes: 289
Antigüedad: 11 años, 3 meses
Puntos: 10
Respuesta: Problema con función :(

has puesto las todas las comillas simples escapeadas?

Código PHP:
Ver original
  1. $(\'#Cliente_razonsocial\').change(function() {

substring creo que es así
Código Javascript:
Ver original
  1. string.substring(from, to);

por ejemplo

Código Javascript:
Ver original
  1. var str = "Hello world!";
  2. var res = str.substring(1, 4);
  #5 (permalink)  
Antiguo 07/01/2015, 08:59
 
Fecha de Ingreso: junio-2014
Mensajes: 18
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Problema con función :(

Tengo una duda, las comillas escapeadas no deberían usarse solo en alguna cadaena que las incluya? es decir si la cadena contiene comillas que son parte del texto, en ese caso se debe escapar los caracteres, o no es asi?

ya cmabie substr por substring, funciona igual, el verdadero problema es que no entra a este if:

else if((palabra0Recorte!='undefined') && (palabra1Recorte!='undefined'))
{
alert('medio');
parcial = palabra0Recorte+palabra1Recorte;
codEmp1 = parcial.substring(0,6);
alert(codEmp);
}
ni al else
else{
alert('corto');
parcial = palabra0Recorte;
codEmp = parcial.substring(0,6);
alert(codEmp);
}

es decir cuando solo existen 2 palabras o una sola en la cadena. Cuando existen 3 funciona perfexto


Gracias por tu atención!!
  #6 (permalink)  
Antiguo 07/01/2015, 10:17
 
Fecha de Ingreso: junio-2014
Mensajes: 18
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Problema con función :(

Bueno ya pude solucionarlo, pongo la pongo la sección que me daba problemas:

Código HTML:
if (typeof(separa[0]) != 'undefined'){  			
  			var palabra0 = separa[0];
  			palabra0Recorte = palabra0.substring(0,3);
  			alert(palabra0Recorte);
  			}  			

  			if (typeof(separa[1]) != 'undefined'){
  		    var palabra1 = separa[1];
  		    palabra1Recorte = palabra1.substring(0,3);
  		    alert(palabra1Recorte);
  			}  			

  			if (typeof(separa[2]) != 'undefined'){
  			var palabra2 = separa[2];
  		    palabra2Recorte = palabra2.substring(0,3);
  		    alert(palabra2Recorte);
  			}  			

  			if((typeof(palabra0Recorte)!='undefined' && typeof(palabra1Recorte)!='undefined') && typeof(palabra2Recorte)!='undefined')
  			{  	alert('largo');
  				parcial = palabra0Recorte+palabra1Recorte+palabra2Recorte;
  				codEmp = parcial.substring(0,6);
  				alert(codEmp);
  			}

  			else if(typeof(palabra0Recorte)!='undefined' && typeof(palabra1Recorte)!='undefined')
  			{
  				alert('medio');
  				parcial = palabra0Recorte+palabra1Recorte;
  				codEmp = parcial.substring(0,6);
  				alert(codEmp);	
  			}
Al parecer no entraba nunca al 5to if por que tomaba el valor de undefined y pues nunca se cumplía.

Gracias a moginn, por regalrme un poco de tu tiempo!

Etiquetas: Ninguno
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 18:17.