Como tomar valores de textField desde ajaxButton


(Erling Fiallos) #1

Estoy implementando un filtro de busqueda via ajax, todo va bien hasta el momento en que tengo que pasar el valor de unos campos de texto como parametros de url al ajaxButton… ahora el codigo para que se entienda mejor:




echo CHtml::label('Referencia/Doc','Task_referencia');

echo CHtml::textField('Task_referencia');


echo CHtml::ajaxButton('Buscar',

array(

	'Task/searchBox', // el controlador que recibira los parametros

	'referencia'=>'' // AQUI COMO HAGO PARA DECIR QUE TOME EL VALOR DEL textField Task_referencia ??

),

array(

	'update' => '#yw0', // actualizar el grid

	'beforeSend' => 'function(){

		$("#yw0").addClass("loading");

	}',

	'complete' => 'function(){

		$("#yw0").removeClass("loading");

	}',

));




(Erling Fiallos) #2

Tarde mas tiempo en encontrar una solucion a mi problema a que hacer algo yo mismo… el codigo siguiente hace lo que en mi anterior post necesitaba… solo que esto es a la antigua…




echo CHtml::label('Referencia/Doc','Task_referencia');

echo CHtml::textField('Task_referencia');


echo CHtml::button('Buscar', array(

	'name'=>'btnSearch',

	'id'=>'btnSearch'

));


Yii::app()->clientScript->registerScript('SearchSubmitButton','

$("#btnSearch").click(function(){

	$.ajax({

		url: \'?r=Task/searchBox\', // Controlador y destino de los datos

		type: \'GET\',

		data: ({

			keyword: $(\'#Task_referencia\').val(), // Enviar parametros

		}),

		success: function(data) {

			$(\'#yw0\').html(data); // Actualizar grid

		},

		beforeSend: function(){

			$("#yw0").addClass("loading");

		},

		complete: function(){

			$("#yw0").removeClass("loading");

		}

		

	});

});

');




(Luciano Baraglia) #3

Mmh…la solución es simple (me lo respondieron en el foro también):




'referencia'=>'js:function() { return $("#Task_referencia").val(); }'



aunque creo que esto también debería funcionar:




'referencia'=>'js:$("#Task_referencia").val();'




(Erling Fiallos) #4

Acabo de probar el codigo y no veo que funcione… el parametro que es enviado a referencia pasa como cadena, por lo que nunca veo que se tome el valor del campo de texto…

Gracias por la respuesta Luciano