Click to See Complete Forum and Search --> : Autosubmit html-forms???


piten
01-19-2004, 09:21 AM
Hi,

Does anyone know how to autosubmit a form in HTML?

I found this javascript-sample on the internet:

<SCRIPT LANGUAGE="JavaScript">
function submitForm(){
document.form.submit();
}
</SCRIPT>


If I could run it all by itself...make the code activate it in html or asp I would be very happy!

I know I can activate the function through a form or a href-link, but I need the code itself to trigger it, and submit to itself....

Anybody know?

Maybe any other way to do this?


Thanks

Pittimann
01-19-2004, 09:31 AM
Hi!

What would be the use of it? No user had a chance to enter data, so it must be you to prefill the form. The data for prefilling are already known to you, so why send them?

Btw - you can call the function in your body tag:

<body onload="submitForm()">

This would only work (using the code of your function), if the name attribute of your form is name="form"...

Cheers - Pit

Edit: sorry, when pasting your function call, I grabbed a "{" which had to be removed...

coos
01-15-2006, 07:40 PM
Hey guys, hope you don't mind me jumping on the back of your little discussion there- however long ago it might have been!

In answer to Pittiman's question:

"What would be the use of it? No user had a chance to enter data, so it must be you to prefill the form. The data for prefilling are already known to you, so why send them?"

...my response is this:

I'm using a thrid-party web-service for auto-response e-mail and newsletter services.

Normally a user enters their info into a form and clicks submit. This gets sent to the third-party who send my user back to my site to a pre-defined landing page set by me (i.e. thankyou.php)

Thing is, I'm trying to take my data-collection to another level! :eek:

I have a new-user registration form, part of which is the classic 'Tick here to get our newsletter'

When they submit the form, all of their data is inserted into MY database for my use for everything my web-system is doing, but if 'optIN' is set to 1, I send them to an invisible page that sends their name and e-mail to the third-party, who then sends the usr back invisibly... nice!

For anyone who wants it, my invisible auto-submitted form looks like this:

<?
// initialise the session:
session_start();
// I set $_session['optIn'] when they first entered their info,
// as well as email and names (see below)
// ...I call it now!
if (($_SESSION['optIn']==0)||(!isset($_SESSION['optIn'])))
{
// user requested to NOT be added to the newsletter
// send them to the page the 3rd-party service provider sends them to:
header("Location: editPersonal.php");
}
else {
// run the page!
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>You're Not Gonna See This!</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<body onload="submitForm()">
<form method="post" action="http://www.thirdPartyServiceProvider.whatever" name="myForm" id="myForm">
<!--
IMPORANT NOTE: DO NOT re-name the form- it is called by the name 'myForm'!
-->
<input type="hidden" name="whatever" value="1234" />
<input type="hidden" name="redirect" value="http://www.backtomysite.com/editPersonal.php" />
<input type="hidden" name="meta_required" value="from,name" />
<input type="hidden" name="meta_forward_vars" value="0" />
<input type="hidden" name="name" value="<? echo $_SESSION['firstname']; ?> <? echo $_SESSION['lastname']; ?>" />
<input type="hidden" name="from" value="<? echo $_SESSION['email']; ?>" />
</form>
<!-- now send the form! -->
<script type='text/javascript'>document.myForm.submit();</script>
</body>
</html>
<?
}
?>


And that's it!

Hope this helps!

:)

Coos Creations (http://www.cooscreations.com)

Kor
01-16-2006, 03:19 AM
Hi Pittiman, long time no see... I was a little bit woried for you... Clean your PM, is full, I guess a lot of friends here tried to give you PM's...

webjunkie
07-25-2006, 11:11 AM
Hey guys I saw your thread in online without being a member of the forum but the replies were so good that I had to sign up and thank you for the information. Thanks for the script COOS the scenario you described is almost exactly the same as mine.

Thanks

Razgriz
07-23-2007, 08:17 AM
Shot coos. Exactly what i was lookin for :D

reinterpret
11-09-2008, 11:16 AM
hi. this is exactly what i need. but i cant get it running. what did i wrong?

<?php
if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );

mm_showMyFileName( __FILE__ );

?>

<table width="100%">
<tr class="sectiontableentry1">
<td width="100%">
<?php
if (@$_SESSION['invalid_coupon'] == true) {
echo "<strong>" . $VM_LANG->_('PHPSHOP_COUPON_CODE_INVALID') . "</strong><br />";
}
if( !empty($GLOBALS['coupon_error']) ) {
echo vmGet($GLOBALS, 'coupon_error', '')."<br />";
}
// If you have a coupon code, please enter it here:
$checkout_this_step = is_array($_REQUEST['checkout_this_step']) ? $_REQUEST['checkout_this_step'][0] : $_REQUEST['checkout_this_step'];
echo $VM_LANG->_('PHPSHOP_COUPON_ENTER_HERE') . '<br />';
?>
<form action="<?php echo $mm_action_url . basename( $_SERVER['PHP_SELF']) ?>" method="post" onSubmit="return checkCouponField(this);">
Coupon Code: <input type="text" name="coupon_code" id="coupon_code" value="Ccd7C9c1e" width="10" maxlength="30" class="inputbox" />
<?php
if($checkout_this_step == 'ship_to_info')
echo "<br />Coupon No.: <input type=\"text\" name=\"voucher_code\" id=\"coupon_code\" value=\"Ccd7C9c1e\" width=\"30\" style=\"width:300px\" maxlength=\"1000\" class=\"inputbox\" />\n";
?>
<input type="hidden" name="Itemid" value="<?php echo @intval($_REQUEST['Itemid'])?>" />
<input type="hidden" name="do_coupon" value="yes" />
<input type="hidden" name="option" value="<?php echo $option ?>" />
<input type="hidden" name="page" value="<?php echo $page ?>" />
<input type="hidden" name="user_id" value="<?php echo $_SESSION['auth']['user_id'];?>" />
<input type="hidden" name="checkout_this_step[]" value="<?php echo $checkout_this_step;?>" />
<input type="hidden" name="ship_to_info_id" value="<?php echo $_REQUEST['ship_to_info_id'];?>" />
<input type="hidden" name="shipping_rate_id" value="<?php echo $_REQUEST['shipping_rate_id'];?>" />
<br /><input type="submit" value="<?php echo $VM_LANG->_('PHPSHOP_COUPON_SUBMIT_BUTTON') ?>" class="button" />
</form>
</td>
</tr>
</table>
<script type="text/javascript">
function checkCouponField(form) {
if(form.coupon_code.value == '') {
new Effect.Highlight('coupon_code');
return false;
}
return true;
}
</script>
<script type='text/javascript'>document.coupon_code.submit();</script>

Kor
11-10-2008, 07:11 AM
I would not expect someone to unreveal this old thread. Would you be so kind and rather start a new thread and present your problem there, please?

And post your HTML generated code, not your Joomla/php code, as the latest is irrelevant for the javascript matters.

jesufer
03-14-2009, 02:39 AM
Hey man. You can do the following to autosubmit your form:

<head>
<script languaje="JavaScript">
function MiFuncion(){location.href=document.MiFormulario.submit()};
</script>
</head>
<body>
<form action='http://www.MiPaginaWeb.com' name='MiFormulario'>
<input type='hidden' name='Nombre' value='Valor'>
</form>
<script>
MiFuncion();
</script>

Too easy, isn't it?
Try it. I spend a lot of time to find it. I hope you enjoy my work.