Acces HTML action from different URL's - javascript

*this is my HTML code :
<form method="POST" action="/sendMail">
is it possible to use this action with for example this url : test/en/sendMail ?
How can i define in the html , that the action should listen to
test/en/sendMail
test/de/sendMail
test/sendMail
without using this 3 times
<form method="POST" action="/en/sendMail">
<form method="POST" action="/de/sendMail">
<form method="POST" action="/sendMail">
Im using NodeJs by the way.
Thanks for your help!

Not pretty sure but you can use formaction on your submit button as:
<form>
[fields]
<input type="submit" value="Submit to a" formaction="/submit/a">
<input type="submit" value="submit to b" formaction="/submit/b">
</form>
More info on this available on link : http://www.wufoo.com/html5/attributes/13-formaction.html

Related

jQuery disabled form is submitted on enter

I have one jQuery form in which I am disabling the submit of form till the jQuery is initialized.
Code looks something like this
<form id="loginForm" role="form" class="form-horizontal col-md-8" action="">
<input type="email"/>
<input type="password"/>
<input type="submit" class="disabled">
</form>
(code is bit simplified.)
Notice class 'disabled'
On jQuery side, I'm doing this
$().ready(function() {
$("#loginBtn").removeClass("disabled"); // This ensures that javascript was loaded before button is pushable
});
The problem is when the page is loading button is disabled and user is not allowed to click on it. But when button is disabled and user fills up the form and press enter. The form is getting submitted.
I want to stall submission of form (via any means) till the jQuery is properly loaded.
How can I achieve this?
You know that setting class="disabled" on a button, doesn't actually disable it, right? ;-)
I think that you need something like this:
<form id="loginForm" role="form" class="form-horizontal col-md-8" action="">
<input type="email"/>
<input type="password"/>
<input type="submit" disabled>
</form>
$(function() {
$("#loginForm input[type=submit]").attr("disabled", null);
});
See JSFiddle here
Try this :
modify your login form submit button as below
$("#loginForm").submit(function() {
if($("#loginBtn").hasClass("disabled")) return false;
//rest of your code as it is
.....
}
NOTE - as per your html, submit button don't have id="loginBtn", please add it.
Just added onsubmit="return false"And it worked.
<form id="loginForm" role="form" class="form-horizontal col-md-8" action="" onsubmit="return false">

Input value from different form

I have two forms on my page...
<form method="post" action="">
<input type="text" name="name" id="name"/>
<input type="submit" name="form1_submit_pushed"/>
</form>
<form method="post" action="">
<input type="submit" name="form2_submit_pushed/>
</form>
On my php side I want to be able to know the value of the text input "name" when I push the submit button of the second form. Kind of like....
if(isset($_POST['form2_submit_pushed']))
{
echo $_POST['name']; //or something else?
}
The reason behind is that first form has a bunch of data that I don't want in the second form submission.
You could do something like this...this code uses jQuery:
<form id="form1" method="post" action="">
<input type="text" name="name" id="name"/>
<input type="submit" name="form1_submit_pushed"/>
<input type="hidden" name="form2_submit_pushed" id="form2_submit_pushed">
</form>
<form id="form2" method="post" action="">
<input type="submit" name="form2_submit_pushed"/>
</form>
<script>
$('#form2').submit(function(event) {
//prevent form2 from submitting and submit form1 instead...
event.preventDefault();
//before submitting, indicate that the "form2_submit_pushed" button was pushed
$('#form2_submit_pushed').val(true);
//submit form1
$('#form1').submit();
});
</script>
...but why you would want to I don't know. Why not make all the controls part of the same form? HTML is designed to send info from only one form (at a time) to the server...
UPDATE: Sorry, I didn't notice your line where you explain your reason for wanting to do this. If you want more explicit control over what gets sent to the server I recommend using AJAX to submit the form. Look at https://api.jquery.com/serializeArray/ and https://api.jquery.com/jQuery.ajax/
Correct me if I am wrong here, but I beleive normal HTML will only post the inputs from the form you are posting from. One option would be to have a hidden input on the second form which gets updated via javascript during the input's change event.
So, you could do something like this (I don't recommend inline javascript but it should get you in the right direction):
<form method="post" action="">
<input type="text" name="name" id="name" onchange="document.getElementById('hiddenname').value=this.value"/>
<input type="submit" name="form1_submit_pushed"/>
</form>
<form method="post" action="">
<input type="hidden" name="hiddenname" id="hiddenname"/>
<input type="submit" name="form2_submit_pushed/>
</form>
Then you just need to get it using
$_POST['hiddenname'];

submit form with <button type="submit"> to the same page

I have the following form:
<form method="post" action="" enctype="multipart/form-data">
<input type="text" name="name_car" />
<input type="submit" name="submit" class="btn" value="Add car" />
</form>
then to fetch the field use:
if($_POST['submit'])
{
$name_car= $_POST['name_car'];
....
}
So far so good. Now do the same with a button. Something of this kind (in the code below) and that the process to fetch the data is equal.
<form method="post" action="" enctype="multipart/form-data">
<input type="text" name="name_car" />
<button class="btn" type="submit" name="wizard-submit"></button>
</form>
The condition you are testing for to see if the form has been submitted is no longer true.
Original HTML:
name="submit"
New HTML:
name="wizard-submit"
The test in PHP:
if($_POST['submit'])
Additionally, your button has no value attribute, you'll need to add one (since otherwise $_POST['submit'] still isn't true)
You should also add some content to the button so that people know what it does.
<button class="btn" type="submit" name="submit" value="something">Submit</button>
If you want to use a button instead of input type submit replace $_POST["submit"] with your button name $_POST["wizard-submit"].
Then if you want your form be single page, change the form file extension to php and include your form process code in it.
NOTICE: use isset instead of vanilla if condition:
if ($_POST["submit"])
replace with:
if (isset($_POST["submit"]))
You can do that. Just put the path to the form in 'action' field.
did you try with the
if (isset ($_POST['submit']))
now the if condition only will be true if there are data, if it's null will be false.
The page with the form has to be saved as a PHP- document with the following code:
<form action="" method="post" enctype="multipart/form-data">
<input type="text" name="new_car" id="new_car" />
<input type="submit" name="submit" class="btn" value="new_car" />
</form>
if($_POST['submit']){
$var=$_POST['submit'];
}

Auto Submitted form not carrying the values into Page which is mentioned in Action attribute of <form> tag

I tried to do auto form submission.It works fine and it redirected to the action page.But,it does not carry the values.Please help me to find the solution.
<form method="POST" action="SamplePage" name="myForm" id="formone">
<input type="hidden" name="AMT" value="10"/>
<input type="hidden" name="ID" id="cust"/>
<input type="submit" value="Submit" id="bu" name="i"/>
</form>
I used document.getElementById("formone").submit(); the for auto submission.
Try like this
document.forms["formone"].submit();
or you can try like
document.formone.submit();
Where your form name should be formone
And at your action page try to access the REQUEST values
print_r($_REQUEST);

sending form data across two pages with added javascript

I'm stuck! - I have a search form, that when data is entered and submitted, the data is sent to another page! - this works well see eg below.
My problem is, I have a piece of javascript called "greybox", it basically loads an external, dimming the first page and focusing on the external - see eg below.
normal working
The new window can be called via either a href "rel" link or an "onclick" command.
I have tried implementing the the two together to no success..Whichever method I use, when i use the greybox the data from the original form is not passed over! - this is what I have so far...
example1, Using standard form with an "onclick" function on the submit button example 1
<body>
<script>
GB_show(caption, url, /*optional*/ height, width, callback_fn)
</script>
<form name="form1" action="test_script.php" method="post">
<input type="text" name="var1" value="">
<input type="submit" name="submit" value="submit" onclick="return GB_show('Search', 'http://www.nctfleetlist.co.uk/test_script.php', this.href)">
</form>
</body>
example 2 - using "onsubmit" [example 2][3]
<body>
<script>
GB_show(caption, url, /*optional*/ height, width, callback_fn)
</script>
<form name="form1" action="test_script.php" method="post" onSubmit="return GB_show('Search', 'http://www.nctfleetlist.co.uk/test_script.php', this.href)">
<input type="text" name="var1" value="">
<input type="submit" name="submit" value="submit">
</form>
</body>
example 3 - using a javascript text link
<body>
<form name="form1" action="test_script.php" method="post">
<input type="text" name="var1" value="">
Search
</form>
</body>
To see the other working pages, simply change eg1.php to eg2.php or eg3.php
If anyone can help me, it would be much appreciated!

Categories

Resources