append string parmeters while submitting a GET form from HTML - html

Consider a form in Html:
<form action="demo_form.asp" method="get">
<div class="form-group" style="margin-top:7px;">
<label class=".... </label>
<input type="text" name="prefersite1" placeholder="http://www.website.com">
<input type="text" name="prefersite2" cla....;">
<input type="text" name="prefersite3" cl....">
<input type="text" name="prefersite4" c....">
<input type="text" name="prefersite5" cla....">
</div>
On using a 'submit' type button, is there a way to get appended prefersite_list[] or comma separated string in the url
The button I used is just:
<button type="submit">
Submit
</button>
I am working on django platform and use this url to extract variables by request.GET.get method in python. Is there a way to change name=prefersite[0], [1] etc so that I will get a single long string.
Instead of /?prefersite1=&prefersite2=&prefersite3=.. , I need a single /?prefersite=.
Using prefersite[] as name seems to be working for post forms, but I need to use get forms.

Related

Linking custom HTML Form to Google Form (How to handle Date input?)

I am trying to link a custom HTMl form to an existing Google Form. I have matched the action and name attributes to the form (placeholders in html snippet below for privacy).
My custom Form
<form action="https://docs.google.com/forms/PLACEHOLDERurl" method="post">
<div class="form-group">
<label class="mb-0" for="name">First & Last Name</label>
<input class="form-control" name="entry.PLACEHOLDER" type="text" id="name" placeholder="Enter name" required>
</div>
<div class="form-group">
<label for="date" class="mb-0">Pick Up Date</label>
<input id="pick-up-date" type="date" class="form-control">
</div>
<button id="testFormSubmit" type="submit" value="submit" class="btn btn-main-color">Submit</button>
</form>
However, there are 3 "name" attributes for the date input on the google form.
Main date input from Google Form
<input type="date" class="quantumWizTextinputPaperinputInput exportInput" jsname="YPqjbf" autocomplete="off" tabindex="0" value="" data-initial-value="2020-04-14" badinput="false" dir="ltr">
3 hidden inputs for each name value (year, day, month) from Google Form
<input type="hidden" name="entry.2099319546_year" jsname="L9xHkb_year" value="2020">
<input type="hidden" name="entry.2099319546_month" jsname="L9xHkb_month" value="4">
<input type="hidden" name="entry.2099319546_day" jsname="L9xHkb_day" value="14">
Can someone please let me know how I can alter my custom date form input to match this format?
I was dealing with same problem but turns out the solution is pretty easy.
You just need to delete the underscore value ('_year') and use only the entry id.
entry.2099319546
Doesn't matter that they have three different inputs and you only have one, Google will recognize it no matter way.
Check this tutorial from Codepen

post not send form data

I have a problem with sending posts in codeigniter, reading other posts I set the variable max_input_vars = 1000. but does not send the data.
the resulting in html is:
<form id="0" action="CO_controller" method="post">
<input id="idric_0" value="0.02508800 154401490122">
<input id="name_0" value="val0">
<input id="per_0" value="10">
<input id="unit_0" value="g">
<input id="ric_0" value="0.02508800 1544014901">
<input id="command0">
<input id="mod0" type="submit" value="Modific" onclick="document.getElementById('command0').value = 'modific';">
<input id="eli0" type="submit" value="Deleta" onclick="document.getElementById('command0').value = 'deleta';">
<input id="id_sal0" value="0.02508800 1544014901">
</form>
<form id="1" action="CO_controller" method="post">
<input id="idric_1" value="0.02508800 154401490122">
<input id="name_1" value="val0">
<input id="per_1" value="10">
<input id="unit_1" value="g">
<input id="ric_1" value="0.02508800 1544014901">
<input id="command1">
<input id="mod1" type="submit" value="Modific" onclick="document.getElementById('command1').value = 'modific';">
<input id="eli1" type="submit" value="Deleta" onclick="document.getElementById('command1').value = 'deleta';">
<input id="id_sal1" value="0.02508800 1544014901">
</form>
the operation is correct ie when I click the button, set the value of the command and submit.
in debug, I go to see the variable $ _POST and it is empty
As said in the comment, you should use name instead of id. By using id you are not passing the values correctly.
Unless you have a route defined so that CO_controller points to a method (and not just a controller) this is not going to work:
<form id="0" action="CO_controller" method="post">
Your form action should point directly to the method within the CO_controller controller which will process the form input.
Assuming the method within the controller is called process_form your form should point to:
<form id="0" action="CO_controller/process_form" method="post">
give it a go and let us know how it works

Validate Form Input using pattern match in html5 form

how to do validate form with input pattern . i have looked into w3schools pattern attribute but not able to get how to implement it in my way. i want to match my form input in this way. this is the appid = "EVISA2505550816" . this pattern should match in input field. where in every id IVISA is common then next 10 digits will be.
<form method="post" action="#">
<input type="text" id="appid" name="appid" pattern="" required>
<input type="submit" name="submit">
</form>
You only have to write a regular expression in the pattern attribute :
\d means that you want a digit and {10} means that you want that char 10 times.
Note that if the first letter is not always E, you can write [A-Z]VISA\d{10}
<form method="post" action="#">
<input type="text" id="appid" name="appid" pattern="EVISA\d{10}" required>
<input type="submit" name="submit">
</form>

Using Multiple Form in One HTML page,and get object of both form in angularjs

My html code is
<div>
<div>
<form name="form 1" ng-submit="submitForm1()">
<input type="text" required name="text1">
</form>
</div
<div>
<form name="form 2" ng-submit="submitForm2()">
<input type="text" required name="text2">
</form>
</div>
</div>
and in my controller i am accessing the form using scope.controller looks like
$scope.submitFrom1 = function(){
console.log(form1);
}
$scope.submitFrom2 = function(){
console.log(form2);
}
but in result first form will give object and second form is returning undefined
I am getting why this is happening.
You have to use ngModel for the fields inside each form to access data.
https://docs.angularjs.org/api/ng/directive/ngModel
<form name="firstForm" ng-submit="submitForm1()">
<input type="text" required name="text1" ng-model="firstForm.text1>
</form>
<form name="secondForm" ng-submit="submitForm2()">
<input type="text" required name="text1" ng-model="secondForm.text1>
</form>
In controller
$scope.firstForm.text1 to access the data from first form individually.
$scope.secondForm.text1 to access the data from second form individually.
To get full form object just use.
$scope.firstForm;
$scope.secondForm;
Remove the spaces from the form names.
<!-- remove spaces from form name
<form name="form 1" ng-submit="submitForm1()">
-->
<form name="form1" ng-submit="submitForm1()">
<input type="text" required name="text1" ng-model="a">
</form>
<!-- remove spaces from form name
<form name="form 2" ng-submit="submitForm2()">
-->
<form name="form2" ng-submit="submitForm2()">
<input type="text" required name="text2" ng-model="b">
</form>
It was causing $parse errors.
The DEMO on JSFiddle

HTML generate URL from Input

i am working on a search function, herefore i need the value of an input to generate the final url (which shows the results)
Let's say the user enters the content he is looking for here:
Name: <input type="text" id="myText">
now i need to generate a hyperlink from
http://constant/constant?query=NAME&someotherconstantthings
here, the NAME needs to be replaced from the content of the input
Try to use PHP, you could add a action to the Form Element to post the entered informations to the PHP file, then generate ur hyperlink.
<form action="phpfilename.php" method="post">
Name: <input type="text" id="myText" name="myText">
<input type="submit" value="Search">
</form>
<?php
$name = $_POST['myText'];
$hyperlink = 'http://constant/constant?query='.$name;
?>
You need something like this:
<form action="URL" method="get">
Enter your name here: <input type="text" name="query" value="">
<input type="submit" value="Search">
</form>
You need to replace the keyword URL with the path to the page which performs the search. You can remove the keyword URL if want to submit the form to the same page.