ошибка ссылки на функцию JavaScript с использованием ajax

-4

Я использую ajax для использования поиска по ключевым словам в базе данных mysql, и когда результаты приходят, я хочу показать параметры как href с помощью функции onclick, поиск работает нормально, но когда я нажимаю на любую опцию, я получаю опорную ошибку на мой firebug, это код: index.php

 <html>

<body>
    <style>
        #displayDiv {
            background-color: #ffeeaa;
            width: 200;
        }
    </style>
    <script type="text/javascript">
        function aca(esto) {
            var esta = esto;
            alert(esta);
        }
    </script>
    <script type="text/javascript">
        function ajaxFunction(str) {
            var httpxml;
            try {
                // Firefox, Opera 8.0+, Safari
                httpxml = new XMLHttpRequest();
            } catch (e) {
                // Internet Explorer
                try {
                    httpxml = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                    try {
                        httpxml = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch (e) {
                        alert("Your browser does not support AJAX!");
                        return false;
                    }
                }
            }

            function stateChanged() {
                if (httpxml.readyState == 4) {
                    document.getElementById("displayDiv").innerHTML = httpxml.responseText;

                }
            }
            var url = "search.php";
            url = url + "?txt=" + str;
            url = url + "&sid=" + Math.random();
            httpxml.onreadystatechange = stateChanged;
            httpxml.open("GET", url, true);
            httpxml.send(null);
        }
    </script>
    </head>

    <body>
        <form name="myForm">
            <input type="text" onkeyup="ajaxFunction(this.value);" name="username"
            />
            <div id="displayDiv"></div>
        </form>
    </body>

И это search.php

<?php
include ("dbinfo.php");
$in = $_GET['txt'];
$msg = "";
if (strlen($in) > 0 and strlen($in) < 20) {
    $t = mysql_query("select RubroId, RubroDisp from rubros where KeyWords like '$in%'");
    while ($nt = mysql_fetch_array($t)) {
        $valor = $nt[RubroDisp];
        $valorCodificado = str_replace(" ", "_", $valor);
        echo "<a href='#' onclick='aca($valorCodificado);'>$valor</a><br />";

                                        }
                                          }
?>

Вы можете увидеть рабочую страницу по этому URL-адресу

Не могли бы вы рассказать мне, как его решить? или что я делаю неправильно?

благодаря

  • 1
    Пожалуйста, сделайте отступ своего кода!
  • 0
    У меня нет никаких ошибок в Chrome, будьте добры, напишите здесь полное сообщение об ошибке (если возможно, с номером строки). Также скажите нам, какой браузер вы используете.
Показать ещё 1 комментарий
Теги:

1 ответ

0
Лучший ответ

aca($valorCodificado); будет генерировать JavaScript, который вызывает функцию с переменной (которая, вероятно, не существует) для аргумента. Похоже, вам нужна строка. Строки требуют кавычек.

  • 0
    Вот и все, спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню