Home Articles FAQs XREF Games Software Instant Books BBS About FOLDOC RFCs Feedback Sitemap
irt.Org
#

Q1713 How can I send the submission of an from to an email address or a URL depending of the status of a checkbox?

You are here: irt.org | FAQ | JavaScript | Form | Q1713 [ previous next ]

You either need to amend the form's action attribute, as described here:

<html>

<head>

<script language="JavaScript"><!--
function updateAction(form) {
  if (form.whereTo.checked)
    form.action = 'mailto:someone@somewhere.com';
  else
    form.action = 'http://somewhere.com/somepage.htm';
}
//--></script>

</head>

<body>

<form onSubmit="updateAction(this)">
Email: <input type="checkbox" name="whereTo">
</form>

</body>

</html>

Or, for those older browsers that only allow read access to the action attribute, copy the data in the visible form to a hidden form with a different action attribute value and then submit that one and cancel the submission of the current form:

<html>

<head>

<script language="JavaScript"><!--
function checkAction(form) {
  if (form.whereTo.checked) {
    document.forms.hiddenForm.somedata.value = form.somedata.value;
    document.forms.hiddenForm.submit();
    return false;
  }
  return true;
}
//--></script>

</head>

<body>

<form action="http://www.somewhere.com/somepage.htm" onSubmit="return checkAction(this)">
<input type="text" name="somedata">
Email: <input type="checkbox" name="whereTo">
</form>

<form name="hiddenForm" action="mailto:someone@somwhere.com">
<input type="text" name="somedata">
</form>

</body>

</html>

©2018 Martin Webb