使用ajax显示正在键入的内容不起作用,PHP,AJAX,JAVASCRIPT

时间:2015-06-16 18:32:11

标签: javascript php jquery ajax

使用ajax,我正在尝试显示文本框中输入的内容,但由于某种原因它根本不显示任何内容。我知道ajax函数本身是通过在函数内使用alert来调用的,我认为真正的问题实际上是在test2.php中,但我不确定我做错了什么。请看一下:

  

test1.php

<?php

include('ajax.php');

echo "<input type = 'text' name = 'select' onkeyup = 'ajax(\"test2.php\",\"select\",\"output\")'>";
echo "<div id = 'output'/>";

?>
  

TEST2

<?php

$select = $_POST['select'];
echo $select;

?>
  

ajax.php

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

<script type = "text/javascript"> 

function ajax(url,select,id) {

      $.ajax({
           type: "POST",
           url: url,
           data: { select: $('select[name="select"]').val()},
           error: function(xhr,status,error){alert(error);},
           success:function(data) {
             document.getElementById( id ).innerHTML = data;
           }

      });

}

</script>

2 个答案:

答案 0 :(得分:3)

function ajax(url,unused,id) {
    $.post(url,{select: $('input[name="select"]').val()})
    .error(function(e){
        alert(e);
    })
    .success(function(d){
        $("#"+id).text(d);
    });
}

答案 1 :(得分:0)

问题在于:

 data: {select: $('select[name="select"]').val()},

没有选择元素。如果您打算获取名为element的id,那么您需要将其更改为:

data: {select: $('#select[name="select"]').val()},

或在你的情况下:

data: {select: $('input[name="select"]').val()},