Uncaught TypeError: Object #<Object> hat keine Methode 'autocomplete'

Hab ich ein problem und ich hoffe, Euch kann mir helfen es zu lösen.

Habe ich diese Funktion, in der ich wollen, verwenden von AutoVervollständigen. Mit der Hilfe unten, konnte ich mich um den Fehler zu entfernen aber jetzt ist es funktioniert einfach nicht bei der Verwendung von Ajax. Wie ich schon schrieb, die Unterseite Skript (inbox.php) geladen ist innerhalb des oberen Skript (home.php).

Fand ich heraus, dass die autocomplete-script funktioniert, wenn ich öffnen Sie die Seite separat (also nur zu localhost/inbox.php), aber wenn man durch Ajax, verliert Sie diese. Das ist, warum ich jetzt denken, dass das problem in der Ajax-Skript, die an den letzten Teil der Beispiele.

home.php (Hauptseite)

<head>

    <meta charset="UTF-8">
    <link rel="stylesheet" href="homeV2.css" type="text/css" media="screen">
    <script type="text/javascript" src="javascript/index.js"></script>
    <script type='text/javascript' src='http://code.jquery.com/jquery-1.6.4.js'></script>
    <script type='text/javascript' src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.0/jquery-ui.min.js"></script>
    <link rel="stylesheet" type="text/css" href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.0/themes/black-tie/jquery-ui.css">

    <title> 
        Homepage Westpop Intranet 
    </title>

    <script>
        window.onload = function()
            {
                showHome(<?=$gid?>);
                refreshChat();
                countdown();                                
            }           
    </script>



</head>

inbox.php (diese Seite ist geladen innen home.php mit Ajax)

<script type="text/javascript">
   var names = ['hi', 'bye', 'foo', 'bar'];

    $(document).ready(function() {
        $("#inputNaam").autocomplete({
          source: names
        });
    });
</script>
............ //some other script
    </div>
            </div>
        <div id='profielNieuwBericht'>
            <div id='nieuwBerichtKop'>
                Nieuw bericht
            </div>
            <table>
                <tr>
                    <td>Aan: </td>
                    <td><input type='text' class='inputNieuwBericht' id='inputNaam' /> </td>
                </tr>
                <tr>
                    <td> Onderwerp: </td>
                    <td> <input type='text' class='inputNieuwBericht' id='inputOnderwerp' /></td>
            </table>
            <textarea id='BerichtTextarea'></textarea></br>
            <input type='button' id='BerichtManagementButton' value='Stuur' />
        </div>
    </div>

Und das ist der Ajax-Teil. Dieses Skript wird aufgerufen, wenn auf eine Schaltfläche in home.php (link nicht im Lieferumfang enthalten, aber ist aufgerufen, durch onClick='showInbox(id)').

function showInbox(id){
if (id==''){
    document.getElementById("middenpag").innerHTML="";
    return;
}

if (window.XMLHttpRequest){
    xmlhttp=new XMLHttpRequest();
}
else{
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.onreadystatechange=function(){
    if(xmlhttp.readyState==4 && xmlhttp.status==200){
        document.getElementById("middenpag").innerHTML=xmlhttp.responseText;
    }
}
xmlhttp.open("GET","inbox.php?id="+id,true);
xmlhttp.send();

}

Ich hoffe, Sie Jungs können sehen, was mache ich hier falsch!
Danke 🙂

  • Keine screenshots. Poste bitte den code nach den Richtlinien!
  • Warum sind Sie inklusive 2 verschiedenen jquery-Bibliotheken, 1.3.0 und 1.6.4?
  • warum sind Sie das laden der jquery zwei mal. zunächst ist 1.3.0 und die zweite ist 1.6.4????!!!!!!!!!!
  • Sorry, du hast Recht, Jungs. Aber es hat das problem nicht lösen 🙁
  • Der AJAX-code, den Sie geschrieben scheint nicht für die Interaktion mit profiel.php. Es sei denn, inbox.php includes/Echos profiel.php irgendwie... Kannst du wieder ein update, wie das Teil funktioniert? Auch haben Sie versucht, mit einer jQuery.load() aufrufen, statt das XMLHttpRequest-code, den Sie haben?
  • Oh... Tippfehler!.. es sollte inbox.php nicht profiel.php... einen Fehler Gemacht, denn Posteingang im Profil-Teil. Nun, es ist richtig, vergessen profiel.php 😛
  • Über die jQuery.load().. ich wirklich brauchen, Ajax, denn ich brauche viele Sachen aus einer Datenbank (und damit mit PHP+SQL). Ich habe nicht gehört, dass in dieser Frage, denn ich glaube nicht, dass das relevant ist. Die autocomplete-script funktioniert, aber eben nicht nach Ajax aufgerufen wurde.
  • Zufällig, ich kam gerade über '.live()'. Ich bin nicht sicher, es ist das, was ich Suche, und, um ehrlich zu sein, verstehe ich nicht wirklich die Verwendung von diesem code. Von dem, was ich verstehe, es sieht aus wie es ist eine mögliche Lösung. Bin ich rechts vielleicht?

Schreibe einen Kommentar