Yii Framework Forum: [Solucionado] Problemas Con Un Código Ajax Cuando Uso Letras - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

[Solucionado] Problemas Con Un Código Ajax Cuando Uso Letras Rate Topic: -----

#1 User is offline   Miguel Lopez 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 108
  • Joined: 07-February 14

Posted 01 March 2014 - 09:40 PM

Buenas tengo un código ajax que cuando ingreso la cédula, si ya existe me trae los datos y los pone en el form, me funciona perfecto cuando trabajo solo con números Ej: Cédula = 19956004 pero si quiero que la cédula este en el siguiente formato Ej: Cédula = V-19956004 (para nacionalizados) o Cédula = E-83090035 (para extranjeros) no me trae los datos espero puedan ayudarme y de antemano muchas gracias.

el código ajax es el siguiente

$('#cedula').on('blur', function(){
		$.ajax({
     		url: <?php echo "'".CController::createUrl('solicitantes/ExistePersona')."'"; ?>,
     		data: {'cedula' : $('#cedula').val()},
     		type: "post",
     		success: function(data){
				if (data == 0)
				{
					nombre.value = " ";
					nombre.disabled = false;
					apellido.value = " ";
					apellido.disabled = false;
					nacimiento.value = " ";
					nacimiento.disabled = false;
					sexo.value = " ";
					sexo.disabled = false;
					direccion.value = " ";
					direccion.disabled = false;
					numerocasa.value = " ";
					numerocasa.disabled = false;
					telefono.value = " ";
					telefono.disabled = false;
					email.value = " ";
					email.disabled = false;
					circuitos_id.value=" ";
					circuitos_id.disabled = false;
					$("#button").css("display", "block");
				}
				else
				{
					var retrievedJSON = data;
					var array = JSON.parse(retrievedJSON);
					nombre.value = array[0].nombre;
					nombre.disabled = true;
					apellido.value = array[0].apellido;
					apellido.disabled = true;
					nacimiento.value = array[0].nacimiento;
					nacimiento.disabled = true;
					sexo.value = array[0].sexo;
					sexo.disabled = true;
					direccion.value = array[0].direccion;
					direccion.disabled = true;
					numerocasa.value = array[0].numerocasa;
					numerocasa.disabled = true;
					telefono.value = array[0].telefono;
					telefono.disabled = true;
					email.value = array[0].email;
					email.disabled = true;
					circuitos_id.value=array[0].circuitos_id;
					circuitos_id.disabled = true;
					$("#button").css("display", "none");
				}
			}
		});
	})


el actionExistePersona del controlador es el siguiente:

public function actionExistePersona ()
	{
		if($_POST['cedula'])
		{
			$cedula = $_POST['cedula'];
			$datos = Yii::app()->db->createCommand("SELECT cedula, nombre, apellido, nacimiento, edad, sexo, direccion, numerocasa, telefono, email, circuitos_id FROM solicitantes WHERE cedula = ".$cedula)->queryAll();
			
			echo(($datos)?json_encode($datos):'');
		}
		
		else
		{
     		$datos = 0; 
			echo(($datos)?json_encode($datos):'');
		}
	}


y el actionCreate del controlador es el siguiente:

	public function actionCreate()
	{
		$model=new Solicitantes;
		$this->performAjaxValidation($model);
		// Uncomment the following line if AJAX validation is needed
		// $this->performAjaxValidation($model);

		if(isset($_POST['Solicitantes']))
		{
			$model->attributes=$_POST['Solicitantes'];
			$fechaNacimiento = $model->nacimiento;
            //Aqui puedes mandar a llamar un metodo que te calcule la edad p.e.
            $edad = $this->calcularEdad($fechaNacimiento);
            //Antes de guardar
			if ($edad != 0)
			{
			$model->edad = $edad;
			}
			else
			{
				
			}
			$model->usuarios_id = Yii::app()->user->id;
			if($model->save())
				$this->redirect(array('view','id'=>$model->id));
		}

		$this->render('create',array(
			'model'=>$model,
		));
	}

0

#2 User is offline   Miguel Lopez 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 108
  • Joined: 07-February 14

Posted 03 March 2014 - 09:13 PM

Gracias a lagogz logre resolver el problema que estaba en el actionExistePersona del controlador, aqui dejo la corrección.

	public function actionExistePersona ()
	{
		if($_POST['cedula'])
		{
			$cedula = $_POST['cedula'];
			$datos = Yii::app()->db->createCommand("SELECT cedula, nombre, apellido, nacimiento, edad, sexo, direccion, numerocasa, telefono, email, circuitos_id FROM solicitantes WHERE cedula = '" . $cedula . "'")->queryAll();
			
			echo(($datos)?json_encode($datos):'');
		}
		
		else
		{
     		$datos = 0; 
			echo(($datos)?json_encode($datos):'');
		}
	}

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users