La pregunta es cómo le podrías enviar el valor de getElementById(‘idarticulo’).value a la página que estás abriendo???
buenas noches estoy tratando de capturar el id de una fila desde un CgridView con una ventana emergente, y colocarlo en una caja de texto desde donde esta siendo llamado pero me trae valor
undefined
espero puedan ayudarme cualquier sugerencia estare agradecido, saludos
funcion que llama a la ventana donde se encuentra el CgridView
<script >
function buscarArticulo() {
window.open("../articulo/catInventario", "popupId", "location=no,menubar=no,titlebar=no,resizable=no,toolbar=no, menubar=no,width=500,height=500");
}
</script>
esta es la funcion en la ventana emergente:
<script language="javascript">
function cerrar(idarticulo) {
window.opener.document.getElementById('idarticulo').value = <?php echo $model->idarticulo; //the new id ?>
window.close();
}
</script>
este es el widget del CgridView
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'catInventario-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'idarticulo',
'codigo',
'nombre',
'descripcion',
'imagen',
'uso_interno',
/*
'idcategoria',
'idpresentacion',
'cod_impuesto',
*/
array(
'class'=>'CButtonColumn',
'template'=>'{elegir}',
'buttons'=>array(
'elegir'=>array(
'click'=>'cerrar',
),
),
),
),
)); ?>
este es el modelo, donde se encuentra el searh para la busqueda completa
public function search()
{
$criteria=new CDbCriteria;
$criteria->compare('idarticulo',$this->idarticulo);
$criteria->compare('codigo',$this->codigo,true);
$criteria->compare('nombre',$this->nombre,true);
$criteria->compare('descripcion',$this->descripcion,true);
$criteria->compare('imagen',$this->imagen,true);
$criteria->compare('uso_interno',$this->uso_interno,true);
$criteria->compare('idcategoria',$this->idcategoria);
$criteria->compare('idpresentacion',$this->idpresentacion);
$criteria->compare('cod_impuesto',$this->cod_impuesto,true);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
y esta es la funcion del controlador:
public function actionCatInventario()
{
$model=new Articulo('search');
$model->unsetAttributes(); // clear any default values
if(isset($_GET['Articulo']))
$model->attributes=$_GET['Articulo'];
$this->render('catInventario',array(
'model'=>$model,
));
}
como se dan cuenta, es para un formulario de gastos web y para este sentido solo necesito el idarticulo, espero haber sido claro y puedan ayudarme, muchas gracias por su tiempo