I am trying to retrieve data from my form when I post(submit) the data. But I have some ignorance about ajax with jquery.
Today, my code looks like this:
$(function() {
$(".apply_up").submit(function(e){
$.post("controller/ajax.php", function(data) {
alert("Data Loaded: " + data);
});
});
});
And here's my HTML:
<form name="Apply" class="apply_up" method="Post">
<input type="image" src="img/t_up.png" id="ajax" name="t_up" value="1 ">
</form>
I want to pick up value = "1"
You need to access the value and then pass it through:
$(".apply_up").submit(function(e){
var the_val = $('#ajax').val();
$.post("controller/ajax.php", { 'value': the_val }, function(data) {
alert("Data Loaded: " + data);
});
});
and use serialize().. if you have lots of fields in your form
html
<form name="Apply" id="apply" class="apply_up" method="Post">
...
jquery
$(".apply_up").submit(function(e){
$.post("controller/ajax.php",$(this).serialize(), function(data) {
...
//OR
$.post("controller/ajax.php",$("#apply").serialize(), function(data) {
alert("Data Loaded: " + data);
});
});
Proper solution for most forms:
HTML
<form action="controller/ajax.php" name="Apply" class="apply_up" method="Post">
<input type="image" src="img/t_up.png" id="ajax" name="t_up" value="1 ">
</form>
JS
$(".apply_up").on('submit', function(e){
e.preventDefault();
var formAction = this.action,
formData = $(this).serialize();
$.post(formAction, formData, function(data) {
alert("Data Loaded: " + data);
});
});
Try like this one:
$(".apply_up").submit(function(e){
e.preventDefault();
var imgVal = $('#ajax').val();
$.post("controller/ajax.php", {value : imgVal}, function(data) {
alert("Data Loaded: " + data.value);
}, "json");
});