2016-03-22 4 views
0

Я разрабатываю инструмент для своего сайта Wordpress с помощью jQuery, но я совершенно новый, но то, что я пытаюсь сделать, не так уж сложно.jQuery в странице шаблона Wordpress

Мой скрипт выставлен в очередь, я прочитал, что с режимом NoConflict я не могу использовать $, поэтому вместо этого я использую jQuery.

function Calculator() 
    { 
     var result = jQuery('result'); 
     if (jQuery('day').value == "" || jQuery('month').value == "" || jQuery('year').value == "") { 

      return; 
     } 
     result.update('<span class="result">processing</span>'); 

     jQuery('form').request({ 
      onComplete: function(transport) { 
       result.hide(); 
       result.update(transport.responseText); 
       new Effect.Appear(result, { duration: 0.5 });   
      } 
     }); 

} 

Моя проблема, я получил ошибку везде: обновление не работает запрос не работает и т.д. ...

Существует что-то я, очевидно, делает неправильно, но не могу понять, что ...

спасибо большое!

+0

в какой файл вы помещён ваш сценарий? –

+0

Я зарегистрировал его в своем файле шаблона (и, конечно, скрипт объявлен в функции.php) – GeorgesL

ответ

1

Ошибки, которые вы видите («обновление не запрос функции не работают») описывают проблемы - те, на самом деле не является функцией JQuery.

Похоже, вы пытаетесь обновить элемент HTML с идентификатором или результатом класса. Чтобы сделать это, use .html():

var result = jQuery('.result'); // "." to select the element with class result 
result.html('something'); 

Для .request, похоже, что вы пытаетесь сделать POST или GET в форме. Если да, то use .ajax(), .post() или .get(). Обратите внимание, что Вы должны будете добавить несколько деталей, например:

jQuery('form').ajax({ 
    type: "POST", 
    url: someurl, 
    data: somedata, 
    onComplete: ... 
}); 

Кроме того, если ваш калькулятор() функция может быть вызвана во время загрузки страницы, убедитесь, что он (или что-то называет его) оборачивают в document.ready:

jQuery(document).ready(function() { 
    ... 
}); 

неродственного вопрос, чтобы проверить значение, скажем, вход формы с классом «день», вам нужно использовать:

jQuery('.day').val() 
0

если вы выборка значения, используя класс, то вы должны сделать это следующим образом:

jQuery('.result').val() 

или используя идентификатор использовать его как:

jQuery('#result').val() 

в JQuery мы используем .val() функции получать значение вместо значения.

+0

Спасибо, я не знал этого, я сделал эти изменения, но у меня все еще есть «result.update не функция» – GeorgesL

0

Обновление, запрос существует в jquery?

Вы можете использовать это, а не писать снова и снова.

var j = jQuery.noConflict(); 
j(".result").html("<span>Processing..</span>"); 
+0

это работает, но на самом деле вы правы, «запрос» может не существовать в jquery ... Как я могу его заменить? Этот код должен получить некоторый текст, созданный в php-файле, когда пользователь отправит форму – GeorgesL

Смежные вопросы