469,314 Members | 2,210 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,314 developers. It's quick & easy.

Executing a function only after success validation

2
Im having a minor, simple problem. Basicly i have two different scripts they both work separately and together but just that both executes at the same time.

On my html page i have a form, one of the functions are that you can fill in the fields and when you press on a button you go to a new page, were all filled fields are shown.

Now i want to validate the form before i pass on the filled information to the "next page".

But right now when you click on the button, you get your form validated as normal and then you just get sent to the "next page" even if you fail to meet up the req.

<input name="submit" value="submit" onClick="compile(); validate(this.form); return document.formSubmit;" type="button">
JS code:

function validate(form){
var error = "";
//for each form element
for(var i=0; i<form.length; i++){
var element = form[i];
//if required
if(element.getAttribute("required") == "yes"){
//if form element if empty
if(!valid(element.value,element.getAttribute("vali date"),element))
error += element.getAttribute("message") + "\r\n";
}
}
if(error != ""){
alert(error);
document.formSubmit = false;
}
else
document.formSubmit = true;
}

function valid(value,type,element){
if(value == "")
return false;

switch(type){
case "int":
if(isNaN(parseInt(value)))
return false;
break;
case "float":
if(isNaN(parseFloat(value)))
return false;
break;
case "email":
var p = value.indexOf('@');
if(p<1 || p==(value.length-1))
return false;
break;
case "checked":
if(!element.checked)
return false;
break;
default://string
break;
}
return true;
}

//gather information
//pass on to "kontakta_print.html".
function compile() {
var falt = escape(document.form1.fornamn.value) + "&" +
escape(document.form1.efternamn.value) + "&" +
escape(document.form1.gatuadress.value) + "&" +
escape(document.form1.postnummer.value) + "&" +
escape(document.form1.postort.value) + "&" +
escape(document.form1.tfnnummer.value) + "&" +
escape(document.form1.epost.value) + "&" +
escape(document.form1.meddelande.value);
location.href = "kontakta_print.html?" + falt;
}

//get information from previous form
function getInfo() {
var find = location.search;
var get = find.substring(1);
var lista = get.split("&");
lista[0] = unescape(lista[0]);
return lista;
}

//funtion for printout
function skrivUt() {
var skriv = getInfo();
document.write("<p><b>F&ouml;rnamn: </b>" + skriv[0] + "<p>");
document.write("<p><b>Efternamn: </b>" + skriv[1] + "<p>");
document.write("<p><b>Adress: </b>" + skriv[2] + "<p>");
document.write("<p><b>Postnummer: </b>" + skriv[3] + "<p>");
document.write("<p><b>Postort: </b>" + skriv[4] + "<p>");
document.write("<p><b>Telefonnummer: </b>" + skriv[5] + "<p>");
document.write("<p><b>E-post: </b>" + skriv[6] + "<p>");
for (var i=0; i<skriv.length; i++)
document.write("<input type='hidden' name='input'" + i + "' value='" +skriv[i] + "' />");
}
Aug 7 '06 #1
2 10704
cryme
2
i fixed it :) just learn how to call a function
Aug 7 '06 #2
Im having a minor, simple problem. Basicly i have two different scripts they both work separately and together but just that both executes at the same time.

On my html page i have a form, one of the functions are that you can fill in the fields and when you press on a button you go to a new page, were all filled fields are shown.

Now i want to validate the form before i pass on the filled information to the "next page".

But right now when you click on the button, you get your form validated as normal and then you just get sent to the "next page" even if you fail to meet up the req.



JS code:
Had the same problem. I solved it by checking the name on the inputboxes. If the name in your script and the name on the inputboxes in your form is different, the script will show the error messages on the ones that are correct and the send you directly to your "next" page. If all names are correct it will work perfectly.
Oct 7 '07 #3

Post your reply

Sign in to post your reply or Sign up for a free account.

Similar topics

1 post views Thread by John DeSoi | last post: by
reply views Thread by zhoujie | last post: by
reply views Thread by suresh191 | last post: by
reply views Thread by harlem98 | last post: by
reply views Thread by harlem98 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.