2016-06-15 13 views
0

Ich möchte eine Seite machen, dass der Benutzer irgendein Wort auf Textbox setzt und alle Bücher mit diesem Wort zurückgibt (Bücher ist in mysql und ich bin gegangen, um die Abfrage in xmlconvert zu konvertieren. php)wie man wenn Knopf klicken Ereignis in Ajax macht

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

gibt es die Funktion, das Wort zu erhalten, dass Benutzer setzen und sendet es an ajax ShowHint();

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

gibt es die Ajax-Code, der die response aus xmlconvert.php Datei zu erhalten, wo ich die q bekam, wo das Wort ist, dass Benutzer setzen und eine Abfrage mit diesem Wort machen und geben die Bücher in 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> 

Ich weiß nicht, ob mein Gedanke richtig ist lass es mich wissen, wenn ich das tun kann und wie es möglich ist, es zu machen. Entschuldigung, mein Englisch ist nicht so gut

Antwort

1

Sie ordnen Ihre neue XMLHttpRequest der Variablen AJAX zu, aber rufen dann ihre Befehle mit anderen Namen auf. Wenn Sie es nennen AJAX, müssen Sie ajax.readyState, ajax.status, ajax.open, ajax.send usw.

So sollte diese Arbeit tun:

<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

Müssen Sie die folgenden Änderungen :

  1. ajax.onreadystatechange sollte eine Funktionsdefinition sein, so include() nach dem Schlüsselwort function
  2. XMLHttpRequest sollte durch ajax var referenziert werden.

Also der richtige Code wäre:

<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

Sie haben Recht, aber hat nicht funktioniert, wie ich es kann Sie mir tun sagen, wenn es richtig ist die Abfrage, die ich für MySQL in PHP tun a $ = $ _ GET ["q"]; $ sql = "wähle * aus dem Buch wo titel = $ q;"; Um den Titel des Buches zu finden, geben Sie mir –

+0

können Sie versuchen, $ sql = "select * aus dem Buch, wo title = '$ q';" –

Verwandte Themen