Понимание предложения о запуске jQuery - PullRequest
1 голос
/ 22 августа 2009

Каково определение entire page в следующей строке ?

Когда вся страница включена через PHP, include () или 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, / HEAD и BODY с помощью следующего кода в моем index.php.

# 3 Код, по которому исходные теги HTML, HEAD и body

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

Ответы [ 2 ]

3 голосов
/ 22 августа 2009

Я считаю это утверждение подозрительным. Я никогда не сталкивался с какими-либо проблемами, включая тег <script> для jQuery в <head> документа, как и любой другой тег <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 до сих пор не знает.

2 голосов
/ 22 августа 2009

Поместите исходный код jQuery в файл html_head_body.php и добавьте свою функцию в свой php-файл "content".

<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>
...