la función nuevoAjax() lo que te garantiza es que el objeto pueda ser creado en navegadores antiguos (ie7-). mientras que para los navegadores modernos se usa solamente new XMLHttpRequest()
por otro lado, estás usando el constructor en lugar de literal, no hay ningún problema en ello. y no, no va simplifircalo
con respecto a la línea que señalas, se usa para obtenre el código ascii de la tecla pulsada. la lucha entre ie y los demás navegadores
Cita: ie ---> charCode
demás ---> keyCode
pd: veo que el envio lo haces con post. normalmente post se usa para hacer un insert, delete o update. y get para select
pd2: asp o php es la parte menos importante de todo esto
Código PHP:
Ver original<?php
header('Content-Type: text/html; charset=UTF-8'); $param = $_GET["q"];
$mysqli = new mysqli("localhost", "root", "", "bd");
echo("Ha ocurrido un error.");
}
$mysqli->set_charset("utf8");
$sentencia = "SELECT nombre FROM tabla WHERE nombre LIKE '%".$param."%' ORDER BY nombre asc";
$resultado = $mysqli->query($sentencia);
$contador = 0;
if ($resultado->num_rows > 0) {
while ($row = $resultado->fetch_array(MYSQLI_ASSOC)) {
if($contador == 0) {
echo '<ol><li class="seleccionado">' .ResaltarSubStr($row['nombre'], $param). '</li>';
} else {
echo '<li class="noseleccionado">' .ResaltarSubStr($row['nombre'], $param). '</li>';
}
$contador += 1;
}
echo "</ol>";
} else {
echo '<span>Sin resultados</span>';
}
$resultado->free();
$mysqli->close();
}
// ========= funciones ===========
function ResaltarSubStr($texto, $param) {
$patron = "/\b($param)+(\w)/i";
$marca = preg_replace($patron, "<strong>$1</strong>$2", $texto); return $marca;
}
// ====================
?>
no sé si he respondido a lo que preguntas, de no ser así, ......