2009-08-21 45 views
1

中有什麼following line中的entire page定義句子?瞭解關於啓動jQuery的

當通過PHP包括整個頁面包括()或require() 功能,確保把該腳本 代碼<body>標籤內,而不是 的<head>內,因爲調用 jQuery腳本文件從 標籤內不適合某些 工作的原因所在。

我不得不設立一個jQuery代碼的問題。然而 ,我好不容易得到一個通過將其內部和HEAD下面的代碼

#1碼

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

我沒有設法獲得任何功能上班工作。 我在代碼#1內外都有它們。以下是一個例子。

#2不工作密碼

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; 
    }  

我使用PHP包括標記HTML,HEAD,/用下面的代碼頭部和身體在我的index.php。

#3代碼由源HTML,頭部和身體標記

​​
+0

好問題。文檔在這裏不是很具體。 – JorenB 2009-08-21 21:13:17

+0

沒有可接受的答案? – Fabian 2009-08-24 17:30:59

+0

謝謝你的回答! - 由於很好的解釋,我接受Votey的回答。 – 2009-08-26 23:59:12

回答

3

我覺得這種說法嫌疑。我從來沒有遇到任何問題,包括文檔的<head>中的jQuery的<script>標記,就像其他任何<script>標記一樣。瀏覽器無法知道PHP所做的任何事情。我懷疑這只是一個錯誤陳述。

要解決您的特定代碼,您在#1中寫的內容完全正確。將函數傳遞給$(document).ready()可讓您提供在文檔處於「就緒」狀態時運行的代碼(意思是:當頁面本身已加載時,而不必加載您不想要的外部資源(如圖像,樣式表等)必須等待)。

關於#2,該函數根本不使用jQuery;它只使用內置的JavaScript函數。話雖如此,它應該能夠正確工作,找到一個id="tags"表單元素,並顯示一個警告框,如果該元素有一個空的value。你怎麼調用這個函數?在jQuery中的世界,你會做這樣的事情:

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

你也可以重寫notEmpty()功能利用jQuery的,像這樣:

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

此外,該功能的其餘部分目前連接到jQuery的。只是它在那裏的方式很好。

最後,#3是無關的jQuery的,因爲這是處理過程中發生的PHP,其中的JavaScript仍完全不知道。

+0

我同意。從來沒有見過這個問題,並找到'句子'可疑 – 2009-08-21 21:18:55

2

將jQuery源代碼放入html_head_body中。PHP文件,並添加你的「內容」PHP文件中的功能。

<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

我現在有兩個'$(document).ready(function(){':一個在HEAD中,一個在BODY中 - **這是一個問題嗎? * – 2009-08-21 21:31:25

+0

不,那絕對沒問題。 – Fabian 2009-08-21 21:37:04