due to security and implementation reasons that are out of the scope of this post, I need to submit multiple forms in a single page to different iFrames (one iFrame for each form). I can't use jQuery nor AJAX, it has to be done via:
<script>
document.Form1.submit();
</script>
The problem is, after I submit the first form (everything goes well), I can't submit the other three forms. I'm guessing only one form.submit() call is allowed per page. Is there a way around this?? I have no problem with submitting all the forms at the same time.
Ps: I'm forwarding the post request to the iframe using the target param of the form. Like this:
<form id='Form1' name='Form1' action='https://www.xxx.com/index.php' method='post' target='iFrame1'>
Thanks a lot in advance for your time and help. Best regards,
You can also have multiple forms and have each form submit to a separate iFrame.
Related
I have a Shopping Cart and for example there is a <button> that will trigger an action to add an item to the cart.
And my dilemma is:
- should I just have a standalone button with JS hook that sends a POST request to an API to add/update an item to cart?
- or should I wrap it in a <form> with hidden <input>s and then when there is no JS the button will be working because form will be submitted and when JS enabled I will submit the form via JS.
But when not using <form> with <input>s but just simple <button> the code would be cleaner.
And nowadays many pages need JS to be running.
Who switches JS off?
So should I bother to provide no-JS functionality at all?
Maybe I should bother only for public sector websites to provide it?
In my case JS would not be an enhancement but replacement for the default form functionality as you see.
In my opinion, it's perfectly acceptable to require javascript these days. It may even provide a better and more accessible user experience in some cases.
That being said, it's also very important to provide graceful fall-backs for clients that don't have javascript enabled for whatever reason. In the very minimum, there should be some sort of a warning or alert letting the user know that basic functionality won't work without Javascript.
My company is using marketo forms, and we are generating the page from a content management system.
We'd like to keep the contribution experience as simple as possible and prevent the user from contributing actual <script> tags.
The API documentation says they will give you a block of code that looks like this:
<script src="//app-sjqe.marketo.com/js/forms2/js/forms2.js"></script>
<form id="mktoForm_621"></form>
<script>MktoForms2.loadForm("//app-sjqe.marketo.com", "718-GIV-198", 621);</script>
My question is, what portions of this code are subject to change?
I am sure the 3 part hypen separated string and the integer being passed in can change.
What about the app-sjqe.marketo.com address?
The 3-part string is your Marketo instance ID, and shouldn't really change. The other integer is the form ID, which definitely will change depending on what form you want to embed.
The other thing that you may want to consider, is the other configurable options that you can send along with the form embed. For example, in the module that I have made for my CMS, I let the user put an optional 'thank-you' page URL, to redirect the form to after submission, and also a checkbox to optionally open the form in a lightbox on page load.
The simple module I made is for the Sitefinity CMS - happy to share code with you if that helps!
My company's app builds simple forms that people can use on their websites to get information into our app. We have a generic form response script that each of these forms submits to, to gather and parse the webform responses.
We're encountering form values that look a lot like the values in Google Analytics cookies (utmz, utmsc, utmccn) The cookies are clearly not part of the form fields. The form is being done with a simple HTML form submit, so I'm at a loss how these values are getting appended on to the post.
Here's a sample form submission:
http://website.com/submit.php?&clientGuid=2342342abcde23423423&webformid=12&prospect_id=12345&custom_Register_or_Dance_the_Chicken=Register&__utma=84164169.205192989.1344888984.1346176569.1346178936.47&__utmc=84164169&__utmz=84164169.1344888984.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
Under what circumstances would a browser submit cookies along with a form submit? Is there a way to prevent it?
This looks like cross-domain user tracking... From the Google Analytics docs for _linkByPost():
The _linkByPost() method passes the GATC cookies from the referring form to another site in a string appended to the action value of the form (HTTP POST).
If there's no onsubmit='...' code directly on the form, it might be attached via jQuery or some other method.
It may be due to Google Chrome adding them to your form variables on submission...
I'm looking to pass data from a form into an iFrame, but I have a slight problem.
The form page I can edit with no restrictions
The page I send the data to I cannot edit unless its html or JavaScript
The data needs to end up in an iframe within this page, which I can edit with no restrictions
I'm incorporating a search function into a CMS system which is why I cannot edit the iframe's parent page, and why I am using iframes at all.
At the moment the data sends to the parent page but is not picked up within the iframe, I am sending via the POST method.
I got it..
Added and extra page which converted the post data into session data,
if anyone knows a better way i would like to hear it though.
And they are the same domain, but editing the CMS system would have taken ages to look through as its not mainstream or developed by me.
Maybe I'm oversimplifying the problem, but can't you use the "target" attribute of the form tag to post to the Iframe?
I have a form which submits to an iframe, This works fine if you are on a page with the iframe.
I want to be able to have the form on any page and when submit is pressed load a page and send the submit to the iframe
e.g.
On page "article.php" and press submit
Open page "results.php" and
Send post data from form clicked in "article.php" to iframe "DataHere" on "results.php"
Thanks in advance
You could try detecting if the frame exists when the form is submitted and if it does not, reload the whole page and generate the iFrame.
If you need a hand checkout http://www.java-scripts.net/javascripts/Check-Frames-Page-Script.phtml
If you are able to comfortably sanitize your initial POST data to avoid XSS, you could create an intermediate page for your iframe destination that does your POST for you:
On page article.php with <form action="results.php">, press submit.
results.php validates that the input isn't XSS, and renders with a <iframe src="negotiator.php?my=form&data=here"></iframe>
negotiator.php takes the query string arguments (and runs the same sanitizing as results.php) and POSTs them to your intended url.
Your results will load in the iframe.
It's pretty important that you make sure your input isn't insane. If your form requires arbitrary text, punctuation, and special characters, this is not safe for you.