Problem: Javascript & PHP form with HTML_QuickForm

R

Ronan

Hi,

I have a problem with a form using the PHP PEAR HTML_QuickForm package &
javascript:

I want to record the content of my form into a mySQL database then
execute a javascript function.

My problem is that javascript is executed before the mySQL insertion.
I actually need the mySQL insertion first, since my javascript function
is supposed to close the window...

Thanks for your help.
Ronan


A short explanation of my code:


#--- 1 ---
#javascript function
#---------


#--- 2 ---
# javascript is called by the action field of my form

# PHP code
$form = new HTML_QuickForm('createNewsCategoryForm',
'post','javascript:addValue();');

# HTML result
<form action="javascript:addValue();" method="post" ... >
#------


#--- 3 ---
# form validation du formulaire and insertion into the mySQL database:
if ($form->validate()) {
$form->process('dataProcessing', false);
}
else {
$form->display();
}

function dataProcessing($values){
#mySQL Insert request
}
#---------
 
M

Martin Honnen

Ronan said:
I have a problem with a form using the PHP PEAR HTML_QuickForm package &
javascript:

I want to record the content of my form into a mySQL database then
execute a javascript function.

My problem is that javascript is executed before the mySQL insertion.
I actually need the mySQL insertion first, since my javascript function
is supposed to close the window...

Use a HTML form with a normal action attribute pointing to your PHP page
doing the database insertion and then let the PHP page return a HTML
page with script closing the window e.g.

<html>
<head>
<title>confirmation</title>
<script type="text/javascript">
function closeAfterDelay () {
setTimeout('window.close();', 2000);
}
window.onload = function (evt) {
closeAfterDelay();
};
</script>
</head>
<body>
<p>Your data has been stored.</p>
</body>
</html>

Of course there are restrictions on the windows script can close, you
might only be able to close a window that script opened before or the
browser might ask the user for confirmation to close the window.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top