user3620142
user3620142

Reputation: 145

how to pass < input > value to php using ajax load

I am trying to pass a value of an input item to php when loading the php file using ajax_load. this is that I have so far but it's not working.

html and jquery:

<tr>
    <td></td>
    <td>
        <button class="grey">Test Settings</button></td>
</tr>

<tr>
    <td></td>
    <td><div class="font-size-15 color-semi-black" id="result"></div></td>
</tr>
<input type="hidden" name="control" value="1"/>

<!--Test Settings-->
{literal}
    <script>
        $.ajaxSetup({
            cache: false
        });
        var ajax_load = "<img src='images/loaders/small-loader.gif' alt='loading...' />";
        var value = $("input[name='control']").val();
        //  load() functions
        var loadUrl = "demo/test_settings.php?val=" + value;
        $("button").click(function() {
            $("#result").html(ajax_load).load(loadUrl);
        });

    </script>
{/literal}    

php:

if ($val == '1'){

//process code here. 

}

It's not passing the value of the input. any suggestions?

Upvotes: 0

Views: 273

Answers (3)

mareckmareck
mareckmareck

Reputation: 1580

In your $.load pass data to it as a parameter.

$("button").click(function(){
    $("#result").html(ajax_load).load(loadUrl , {
         val : ...
    });
});

In your php file:

if (isset($_REQUEST["val"]) && $_REQUEST["val"] == 1) {
    ...
}

If you pass an object, it is passed as POST, otherwise it is passed as GET.

Upvotes: 1

user3680936
user3680936

Reputation: 9

if (count($_GET) && $_GET['val'] == '1'){
}

Upvotes: 0

Rakesh Sharma
Rakesh Sharma

Reputation: 13728

your request is going with GET like this:-

/demo/test_settings.php?val=1&_=1401278450924

so you need to get your values by $_GET on test_settings.php like

if ($_GET['val'] == '1'){

Upvotes: 2

Related Questions