2016-06-15 9 views
0

ユーザーがテキストボックスに任意の単語を入力し、その単語を含むすべての書籍を返すページを作成したい(ブックはmysqlにあり、xmlconvertでクエリを変換するようになりました。 php)ajaxでボタンクリックイベントを発生させる方法

<form id="keyword" > 
    <input type="text" name="value" id="book"/> 
    <br/> 
    <button onclick="showhint(functionvalue())">Search By Title</button> 
</form> 

ユーザーが入力してajax showhint()に送るという単語を取得する関数があります。私は、ユーザーが置くことを言葉であるQを持って、その単語でクエリを作成し、XML

<script type="text/javascript"> 
    function showhint(str) { 
     var ajax = new XMLHttpRequest(); 

     ajax.onreadystatechange = function { 
      if (xhttp.readyState == 4 && xhttp.status == 200) { 
       document.getElementById("keyword").innerHTML = xhttp.responseText; 
      } 
     }; 

     xhttp.open("GET","xmlconvert.php?q="+str,true); 
     xmlhttp.send();     
    } 
</script> 
に本を返すxmlconvert.phpファイルからresponsetextを取得するAjaxコードがある

<script> 
    function functionvalue() { 
     var bookname = document.getElementById('book').value; 
     return bookname; 
    } 
</script> 

私の考えが正しいかどうかわかりませんが、私はそれを行うことができ、どのようにすることが可能かを教えてください。 私の英語はあまり良くありません

答えて

1

あなたは新しいXMLHttpRequestを変数ajaxに割り当てていますが、そのコマンドを他の名前で呼び出しています。あなたはアヤックスそれを命名する場合は、ajax.readyState、ajax.status、ajax.open、ajax.sendを行う必要があるなど

だから、これは動作するはずです:

<script type="text/javascript"> 
     function showhint(str){ 
      var ajax=new XMLHttpRequest(); 
       ajax.onreadystatechange=function{ 
        if (ajax.readyState == 4 && ajax.status == 200) { 
         document.getElementById("keyword").innerHTML = ajax.responseText; 
        } 
       }; 
      ajax.open("GET","xmlconvert.php?q="+str,true); 
      ajax.send(); 

     } 

    </script> 
0

は、次の変更を加える必要があり:

  1. ajax.onreadystatechangeは
  2. のXMLHttpRequestはAjaxのVARを介して参照されなければならない関数キーワードの後に​​()関数定義がそう含めるべきです。

だから、正しいコードは次のようになります。

<script type="text/javascript"> 
    function showhint(str) { 
     var ajax = new XMLHttpRequest(); 

     ajax.onreadystatechange = function() { 
      if (ajax.readyState == 4 && ajax.status == 200) { 
       document.getElementById("keyword").innerHTML = ajax.responseText; 
      } 
     }; 

     ajax.open("GET","xmlconvert.php?q="+str,true); 
     ajax.send();     
    } 
</script> 
+0

右私はmysqlの$ A = $ _ GETのためのPHPで行うクエリである場合、私はそれはあなたが私に言うことができないとして、あなたは正しいが、didntの仕事を持っています["q"]; $ sql = "select * from book where title = $ q;";私に –

+0

を与える本のタイトルを見つけるには、$ sql = "book * from select where * where title = '$ q'; –

関連する問題