Hola a todos!
Estoy trabado con un formulario php, javascript y ajax. Tres campos, uno escaneo un articulo con un laser y sin recargar la pagina la base de datos me devuelve la descripcion del articulo.
Hasta aqui todo bien. Cuando la pagina de entrada carga el campo de "entrada" o escaneo esta listo para aceptar el "input" del scanner laser por javascript "focus" script.
Scaneo el articulo y me devuelve 1 dato, he aqui el problema numero 1:
1.- No logro que el sistema me devuelva dos campos (dos columnas de la tabla de la bd)
2.- No logro que despues de escanear un articulo y devuelva los datos, que el cursor vuelva automaticamente al campo de escaneo a esperar un nuevo scan
3.- No tengo idea de como organizar que segun vaya escaneando paquetes el sistema siga agregando una fila con los datos, es decir, escaneo 1 paquete y el sistema escribe los datos en una fila, vuelve el "focus" al campo de escaneo, escaneo un segundo paquete, el sistema escribe una segunda linea y vuelve al campo de escaneo, y asi sucesivamente.
Puede alguien orientarme en este sentido?
Pueden probar la pagina con este codigo:
8802946000357 , ingresandolo en "Scan" y oprimiendo "Enter" (esto simula como si ese codigo lo leyo el scanner laser): en
sentnel.info
Este es el codigo de la pagina de entrada:
Código:
<script language="javascript" type="text/javascript">
<!--
// Get the HTTP Object
function getHTTPObject(){
if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
else if (window.XMLHttpRequest) return new XMLHttpRequest();
else {
alert("Your browser does not support AJAX.");
return null;
}
}
// Change the value of the outputText field
function setOutput(){
if(httpObject.readyState == 4){
document.getElementById('outputText0').value = httpObject.responseText;
document.getElementById('outputText1').value = httpObject.responseText;
}
}
// Implement business logic
function doWork(){
httpObject = getHTTPObject();
if (httpObject != null) {
httpObject.open("GET", "procesador.php?inputText="
+document.getElementById('inputText').value, true);
httpObject.send(null);
httpObject.onreadystatechange = setOutput;
}
}
var httpObject = null;
//-->
</script>
<form name="testForm">
Scan:
<input type="text" onkeyup="doWork();" name="inputText" id="inputText" />
Articulo:
<input type="text" name="outputText0" id="outputText0"/>
Peso:
<input type="text" name="outputText1" id="outputText1" />
</form>
<script language="JavaScript">
<!--
document.testForm.inputText.focus();
//-->
</script>
Este es el codigo de la pagina que procesa el query:
Código:
<?php
$link = mysql_connect('localhost', 'pos', '12341234');
mysql_select_db("pos",$link);
if (!$link) {
die('No pudo conectarse: ' . mysql_error());
}
?>
<?php
$producto = $_GET['inputText'];
function buscarProducto ($producto) {
$query = "SELECT `scan_result`, `peso` FROM `pos`.`jos_inpospak_track` WHERE inputText = $producto";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
return $row[scan_result];
}
echo buscarProducto($producto);
?>
Es un servidor de prueba, pueden "puyarlo" si quieren.
Gracias un millon!!!!