Reputation: 145
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
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
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