jQuery Add/Remove Input Fields
A script that uses event delegation and the .live() method for adding and deleting extra input form fields.
by Henry
HTML
<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
<h2><a href="#" id="addScnt">Add Another Input Box</a></h2>
<div id="p_scents">
<p>
<label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt" value="" placeholder="Input Value" /></label>
</p>
</div>
CSS
* { font-family:Arial; }
h2 { padding:0 0 5px 5px; }
h2 a { color: #224f99; }
a { color:#999; text-decoration: none; }
a:hover { color:#802727; }
p { padding:0 0 5px 0; }
input { padding:5px; border:1px solid #999; border-radius:4px; -moz-border-radius:4px; -web-kit-border-radius:4px; -khtml-border-radius:4px; }
JavaScript
$(function() {
var validateFirstpartEmail = function(emailval){
var errFirstPart = true;
var firstPart = emailval[0];
var firstChar = firstPart.charAt(0);
var lastChar = firstPart.charAt(firstPart.length-1);
var email_valid = /^(?!\.)(?!.*\.$)(?!.*?\.\.)[A-Za-z0-9_'.!#$%&*+=?^{|}~-]*$/;
var startOrEndChar = /^[A-Za-z0-9_'!#$%&*+=?^{|}]$/;
if (firstPart.match(email_valid) && firstChar.match(startOrEndChar) && lastChar.match(startOrEndChar)) {
// Email address is valid
errFirstPart = true;
} else {
errFirstPart = false;
}
return errFirstPart;
};
var validateSubdomainEmail = function(emailSubDomainVal){
var errCounterSubdomain = true;
var domain_validation = /^(?!\.)(?!.*\.$)(?!.*?\.\.)[a-zA-Z0-9]+[a-zA-Z0-9-.]+[a-zA-Z0-9]$/;
var subDomain = /^[a-zA-Z0-9-]*$/; // Allow only alphabet and -
var subDomainLastChar = /[a-zA-Z0-9]$/; // Last char os each subdomain
var subDomainFirstChar = /^[a-zA-Z0-9]/; // First char os each subdomain
var secondPartArray = emailSubDomainVal.split(".");
if(secondPartArray.length>1 && emailSubDomainVal.match(domain_validation)){
for(var i=0;i<secondPartArray.length;i++)
{
var stringToTest = secondPartArray[i];
if(stringToTest.match(subDomain) && stringToTest.match(subDomainLastChar) && stringToTest.match(subDomainFirstChar)){
//console.log("vali sub domain")
errCounterSubdomain = true;
}
else{
errCounterSubdomain = false;
break;
}
}
}
else{
errCounterSubdomain = false;
}
return errCounterSubdomain;
};
var validateEmail = function(inputEmail) {
var email = inputEmail;
var isValidEmail = true;
var valid_err_length = inputEmail.length;
var errCounter = 0;
if (valid_err_length < 65) {
if(email.indexOf("@") != -1)
{
var arry =...