Foros del Web » Programando para Internet » Javascript »

[ayuda]script para un input por aproximacion

Estas en el tema de [ayuda]script para un input por aproximacion en el foro de Javascript en Foros del Web. Buenas tardes: estoy con un problema y quiero ver si alguien pouede orientarme. tengo una funcion que crea un input text con un div que ...
  #1 (permalink)  
Antiguo 08/05/2013, 09:38
 
Fecha de Ingreso: mayo-2013
Mensajes: 4
Antigüedad: 11 años
Puntos: 0
[ayuda]script para un input por aproximacion

Buenas tardes: estoy con un problema y quiero ver si alguien pouede orientarme.

tengo una funcion que crea un input text con un div que propone por aproximacion a medida que se va escribiendo (tipo google) hasta ahi genial!!! pero deseo crear un input oculto que me traiga otro parametro que no quiero que se visualize.


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
en un td llamo a la siguiente funcion:
Código PHP:
            <td width='70%' >

            <?php input_autocompletar($_SWOPOST 'USERID' ], 'item_' .$arr['tipo'], $arr['descripcion'],'50','10'LPATH_TESORERIA.'config.php');?>


            </td>
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
aca dejo el detalle de la funcion input_autocompletar :


Código PHP:
/**
 * @param text $userId (USERID de Joomla)
 * @param text $id (nombre del input)
 * @param text $value (valor del input)
 * @param int $size (tamaño del input)
 * @param int $maxlength (idem anterior)
 * @param text $php_destino (Archivo php que realiza la busqueda y se muestra dentro del div por ajax, ej: "/wko/contabilidad/cuenta.php")
 * @param text $prox_input (si se pone, una vez que se hace blur del input, hace foco en este)
 */
function input_autocompletar ( $userId, $id, $value, $size = 15, $maxlength = 10, $php_destino, $prox_input = '' ){
    $div = "autocompletar_".rand(100000,999999);
    ?>
    <input type="text" id="<?=$id?>" value="<?=$value?>" size="<?=$size?>" maxlength="<?=$maxlength?>
        onKeyUp="input_autocompletar('<?=$id?>','<?=$userId?>','<?=$div?>','<?=$php_destino?>');"
        onBlur="document.getElementById('<?=$id?>').value=selector;document.getElementById('<?=$div?>').innerHTML = ''; <?php if($prox_input != '') echo "document.getElementById('".$prox_input."').focus();"?>
        autocomplete="off"/>
    <br />
    <div id="<?= $div ?>" style="position: absolute; text-align: left; height: 100px; overflow: auto;"></div>
<?php
    
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////




Hay que crear el php que realiza la busqueda para que la funcion js utilizada aca lo llame por ajax y escriba el resultado en el div correspondiente el cual lo pondre debajo.

Código PHP:
<?php


if(trim($r_dato) == '') die();

$stk_prod = new stk_productos();
$stk_prod->filtrolikebusqueda(trim($r_dato));
//$lc_plan_cuentas->LimitSet(0,10);
$stk_prod->QueryRecordset();
// echo$stk_prod->SQL();
if($stk_prod->CantReg() == 0) die();
?>
<table class="<?= wo_tbl_tabla?>">
    <?php 
    
while($stk_prod->GetNextRecord()){
        
?>
        <tr>
        <td onMouseOver="selector='<?=$stk_prod->producto->getCodigo(); ?>';">
            <?= $stk_prod->producto->getCodigo().' - '.$stk_prod->producto->getDescripcion()?>
        </td>
        </tr>
        <?php 
    
}
    
?>
</table>
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Código PHP:
Por ultimo el JS

<script type="text/javascript">
<!--
var 
xhr;
var 
div_n;
var 
selector;

function 
input_autocompletar(input_nameuserid,div_name,php_destino){
        if(
window.ActiveXObject){ 
            
xhr = new ActiveXObject('Microsoft.XMLHTTP');
        } else if(
window.XMLHttpRequest){
            
xhr = new XMLHttpRequest();
        }
        
        
div_n div_name;
    
        var 
dato=document.getElementById(input_name).value;
        
selector dato;
        
        
xhr.open("POST"php_destino);//"wko/contabilidad/cuenta.php"
        
xhr.onreadystatechange callbackInput_autocompletar;
        
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        
xhr.send("dato="+dato+"&USERID="+userid+"&input_name="+input_name);
    
}

function 
callbackInput_autocompletar(){
    if(
xhr.readyState == 4){
        if(
xhr.status == 200){
            
document.getElementById(div_n).innerHTML xhr.responseText;
        }
    }
}

//-->
</script> 
//lo que deseo es agregar un input oculto que me devuelva un parametro mas ejemplo el id del producto.

Última edición por mafewo; 08/05/2013 a las 09:55

Etiquetas: ajax, funcion, html, input, js, php, select
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 22:24.