2009-08-21 8 views
1

Was ist die Definition von entire page in der following line?Verstehen eines Satzes über das Starten von jQuery

Wenn die gesamte Seite über PHP enthalten ist include() oder require() Funktion, stellen Sie sicher, dass Skript Code innerhalb des <body> Tag zu legen und nicht innerhalb des <head>, weil jQuery Skriptdatei aufrufen von innen der Tag funktioniert nicht für einige Grund.

Ich hatte Probleme beim Einrichten eines jQuery Codes. Allerdings gelang es mir ein, indem es innerhalb HEAD und der folgende Code

# 1 Code

$(document).ready(function(){  
    --- code here---- 
}); 

ich keine Funktionen zur Arbeit zu kommen geschafft haben, zur Arbeit zu kommen. Ich habe sie innerhalb und außerhalb des Codes # 1 gehabt. Das Folgende ist ein Beispiel.

# 2 Ein Problem Code

function notEmpty() {       
     //put this in a function and call it when the user tries to submit 
     var tags = document.getElementById('tags').value; 
     if(tags == '' || tags == null) {   
      alert('Please enter one or more tags'); 
      return false; 
     } 
     return true; 
    }  

ich PHP verwenden, um die Tags HTML, HEAD,/Kopf und Körper durch den folgenden Code in meinem index.php aufzunehmen.

# 3-Code durch welche Quellen HTML, HEAD und Body-Tags

include ('./official_content/html_head_body.php'); 
+0

Gute Frage. Dokumente sind hier nicht sehr spezifisch. – JorenB

+0

Keine akzeptable Antwort? – Fabian

+0

Vielen Dank für Ihre Antworten! - Ich akzeptiere Voteys Antwort wegen einer guten Erklärung. –

Antwort

3

ich diese Aussage suspekt finden. Ich habe noch nie ein Problem einschließlich der <script> Tag für jQuery in der des Dokuments, wie alle anderen <script> Tag. Der Browser kann nichts von PHP wissen. Ich vermute, es ist einfach eine falsche Darstellung.

Um Ihren spezifischen Code zu adressieren, ist das, was Sie in # 1 geschrieben haben, völlig richtig. Wenn Sie eine Funktion an $(document).ready() übergeben, können Sie Code angeben, der ausgeführt werden soll, wenn das Dokument "bereit" ist (dh wenn die Seite selbst geladen wurde, ohne dass externe Ressourcen wie Bilder, Stylesheets usw. geladen wurden) warten zu müssen).

In Bezug auf # 2 verwendet diese Funktion jQuery überhaupt nicht; Es verwendet nur integrierte JavaScript-Funktionen. Dennoch sollte es korrekt funktionieren, indem Sie ein Formularelement mit id="tags" finden und eine Warnmeldung anzeigen, wenn dieses Element leer ist value. Wie hast du diese Funktion aufgerufen? In der Welt von jQuery, Sie so etwas tun würde:

$("#id-of-your-form").submit(notEmpty); 

Sie könnten auch die notEmpty() Funktion umschreiben jQuery zu nutzen wie so:

function notEmpty() {{ 
    var tags = $("#tags").val(); 
    if (tags == '' || tags == null) { 
     alert('Please enter one or more tags'); 
     return false; 
    } 
    return true; 
} 

Auch zur Zeit der Rest dieser Funktion verbindet überhaupt zu jQuery. Es ist in Ordnung, so wie es dort ist.

Endlich hat # 3 nichts mit jQuery zu tun, da diese Verarbeitung innerhalb von PHP stattfindet, von der JavaScript nichts ahnt.

+0

ich stimme zu. habe dieses Problem nie gesehen und finde den "Satz" fraglich –

2

Setzen Sie die jQuery-Quelle in html_head_body.PHP-Datei und fügen Sie Ihre Funktion in Ihrem "Inhalt" PHP-Datei.

<html> 
<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script> 
</head> 
<body> 
    <script type="text/javascript"> 
    $(document).ready(function(){ 

     function notEmpty() {       
     //put this in a function and call it when the user tries to submit 
     var tags = document.getElementById('tags').value; 
     if(tags == '' || tags == null) {   
      alert('Please enter one or more tags'); 
      return false; 
     } 
     return true; 
     } 

    }); 
    </script>   
</body> 
</html> 
+0

Ich habe jetzt zwei '$ (document) .ready (function() {': eine in HEAD und eine in BODY. - ** Kann das ein Problem sein? * * –

+0

Nein, das ist absolut in Ordnung. – Fabian

Verwandte Themen