how to sumbit a form in a jquery without loading the result?
Hi All Im trying to submit a form using jquery
and to send the form into a php page that will update the db without sending any result back to the element (I guess using ajax)
fElement.submit(function(e) {
//fElement.attr('flag','1');
e.preventDefault();
//"mark" the input name =flag as spam
$(":hidden[name='flag']","#"+popup_form_id).val("on");
fElement.toggle();
//hoe to post/get the form $.ajax(
<form id = "popup_form_{$row['id']}" action ="" method ="post" style="background-color:white; border:2px solid blue;padding:4px; width:250px; display :none; position:absolute" onsubmit = "return false;"> <input type ="hidden" name="flag" value = "no" > <input type="hidden" name="id" value ="{$row['id']}"> <input type="hidden" name ="email" value ="{$row['email_address']}"> <input type="submit" value="SpamIt" name="spamIt" style="margin-right:15px;"> <input type="button" value="Close" onclick="closePopup()"/> </form> </tr>
There are numerous ways you can achieve this goal of submitting a form, changing to a new page without returning data back to an element.
It looks like you'd prefer not to use a serverside PHP solution, and to have it completely run via javascript and ajax.
jQuery Ajax documentation is the page for structuring the name value pairs, and to achieve the method of operation you desire. You'll probably want to trigger this ajax event with an event handler that applies a javascript controlled submit.
The raw bones of the code ends up something like:
$('#myForm').submit(function() { $.ajax({ url: 'myphpsubmitpage.php', success: function( ) { //do nothing }, complete: function() { // replace form with another element code, else code to redirect to another page as desired }});});
Greg's answer covers it mostly, but isn't clear in describing how you'd prefer to "not to use a serverside PHP solution".
You'll still need PHP, since javascript cannot interact with the DB. Using jquery's ajax method is the proper solution. jQuery also provides a nice function for serializing a form into a data structure you cvan submit via jQuery's ajax. http://api.jquery.com/serialize/
"and to send the form into a php page that will update the db"
I was talking about it being a standard javascript handler into a standard PHP receipt page (alas - url: 'myphpsubmitpage.php') that only takes name||value pairs, instead of using an old standard HTML form submit to a PHP page of POST retrieval of each data element to achieve your name||value pairs.
I felt the OP has shown enough aptitude in the code presented to understand classic PHP solutions, and wanted to highlight the jQuery structure alternative.
By all the logic being generated in javascript - data retrieval, validation, sending to server, processing success and completion - makes it not a server side PHP solution.
0
The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.
One of a set of tools we're offering as a way of saying thank you for being a part of the community.
How is the 'formSubmit.php will access the variables (in data)
If I would use POST or GET the script will go to the $_POST array what do I need to do here?
Can I use .post() or .get() to do it? what will be the differences?
Thank you!
0
Nura111Author Commented:
Im trying to do
$(popup_form_id).post is not a function
function toggleLeadBody(id) { var fieldName1 = "#spam_"+ id + "_body"; var fieldName2 = "#sr_" + id + "_body"; var popup_form_id = "popup_form_" + id; var url ="sem_page.php?page=leads&sub=manage"; var element = $(fieldName2); element.toggle(); var fElement = $(fieldName1); //checking to see if its not been marked as spam if ($(":hidden[name='flag']","#"+popup_form_id).val() =="no"){ fElement.toggle(); } //sumbitting the form fElement.submit(function(e) { // alert("Hello world!"); //fElement.attr('flag','1'); e.preventDefault(); //"mark" the input name =flag as spam $(":hidden[name='flag']","#"+popup_form_id).val("on"); fElement.toggle(); //$.ajax( alert(url); $(popup_form_id).post("sem_page.php?page=leads&sub=manage"); })
It looks like you'd prefer not to use a serverside PHP solution, and to have it completely run via javascript and ajax.
jQuery Ajax documentation is the page for structuring the name value pairs, and to achieve the method of operation you desire. You'll probably want to trigger this ajax event with an event handler that applies a javascript controlled submit.
The raw bones of the code ends up something like:
Open in new window