2014-01-04 4 views
0

У меня есть базовый поиск php/MySQL. В моей форме используется функция jQuery, которая фиксирует нажатия клавиш, а затем выполняет вызов Ajax, который в конечном итоге должен давать результаты, имеющие отношение к нажатиям клавиш. Я получаю ошибку функции searchquery is not defined. Затем я пошел и проверил синтаксис, и мне кажется правильным. DEMOМгновенный поиск: функция не определена error

<script type="text/javascript"> 
    $(document).ready(function() { 
     (function($) { 
      $.fn.searchquery = function() { 
       $.post("insta_search.php", {searchVal: searchTxt}), function(output) { 
        $("#output").html(output); 
       }); 
      }; 
     }); 
    }); 
</script> 
</head> 
<body> 
    <h2>Search</h2> 
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 
     <input type="text" name="search" placeholder="Search for stuff" onkeydown="searchquery();"/> 
     <input name="submit" value=">>" type="submit"> 
     <br /> 
     <div id="output" name="output"> 
     </div> 

ответ

2
$(document).ready(function() { 
    searchquery = function() { 
     $.post("insta_search.php", {searchVal: $("input[name='search']").val()}, function(output) { 
     $("#output").html(output); 
     }); 
    }; 
}); 

Лучше было бы не смешивать поведение содержания (то есть. Не смешивать JS в HTML)

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("input[name='search']").keydown(function(){ 
      $.post("insta_search.php", {searchVal: $("input[name='search']").val()}, function(output) { 
       $("#output").html(output); 
      }); 
     }); 
    }); 
</script> 
</head> 
<body> 
    <h2>Search</h2> 
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 
     <input type="text" name="search" placeholder="Search for stuff" /> 
     <input name="submit" value=">>" type="submit"> 
     <br /> 
     <div id="output" name="output"> 
     </div> 
+0

Я получаю пропавший без вести '' 'by' $ post' -> '});'. Вы можете проверить [DEMO] (http://holaweblearning.co.nf/test/instant_search.php) для обновленного кода – techAddict82

+0

. Дополнительные круглые скобки были проблемой –

+0

попробуйте удалить конечную скобку «{searchVal: searchTxt})» на "{searchVal: searchTxt}" –

0

Кажется, что вы имели лишние скобки. Попробуйте этот кусок:

$(document).ready(function() { 
    (function($) { 
    $.fn.searchquery = function() { 
     $.post("insta_search.php", { searchVal: searchTxt }, function(output) { 
     $("#output").html(output); 
     }); 
    }; 
    }); 
}); 
+0

$ .post ("insta_search.php", {searchVal: searchTxt}), function (out ... Вы закрываете скобки рано, это неправильно –

+0

@RobinRizvi Я только что обновил код. – gmile

Смежные вопросы