GeorgesL
GeorgesL

Reputation: 25

jQuery in a wordpress template page

I am developing a tool for my Wordpress website using jQuery, I am quite new at this but what I'm trying to do is not that hard.

My script is enqueued, i've read that with the NoConflict mode i can't use $ so I use jQuery instead.

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

}

My problem is I got error everywhere : update is not function request is not function etc...

There is something i'm obviously doing wrong but can't figure out what...

thanks a lot !

Upvotes: 0

Views: 56

Answers (3)

Don&#39;t Panic
Don&#39;t Panic

Reputation: 14520

The errors you are seeing ("update is not function request is not function") describe the problem - those really are not jQuery functions.

It looks like you're trying to update an HTML element with ID or class "result". To do that, use .html():

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

For .request, it looks like you are trying to do a POST or GET of a form. If so, use .ajax(), .post(), or .get(). Note though you'll need to add a few more details, eg:

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

Also, if your Calculator() function can be called while the page is loading, make sure it (or whatever calls it) is wrapped in document.ready:

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

An unrelated issue, to check the value of say a form input with class "day", you need to use:

jQuery('.day').val()

Upvotes: 1

WhoAmI
WhoAmI

Reputation: 501

Is update, request exists in jquery?

you can use like this rather than writing again and again.

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

Upvotes: 0

Sonu Bamniya
Sonu Bamniya

Reputation: 1115

if you are fetching the value using class then you have to do it like this:

jQuery('.result').val()

or if using id use it like:

jQuery('#result').val()

in jquery we use .val() function to get value instead of value.

Upvotes: 0

Related Questions