Försöker då att skriva om Jojoxx valideringsscript utan någon större framgång.
Vill att den ska kolla att man fyllt i ett namn samt ett inlägg.
Samt om man fyllt i någon epost ska den vara ok. (Hade en tanke om att göra samma sak med webadressfält, men nja, jag fixar det inte.
/* Detta script finns att hämta på [url]http://www.jojoxx.net[/url] och
får användas fritt så länge som dessa rader står kvar. */
String.prototype.isValidEmail = function(){
return !!this.match(/^([a-zA-Z0-9]{1}([a-zA-Z0-9|.|-|_]*)[a-zA-Z0-9]{1})@([a-zA-Z0-9]{1}([a-zA-Z0-9|.|-|_]*)[a-zA-Z0-9]{1})\.([a-zA-Z]{2,4})$/)
}
function validateForm() {
if (document.form.name.value=="") {
alert("Du måste fylla i ett namn.");
return false;
} else if (document.form.email.value != "") {
if (!document.form.email.value.isValidEmail()) {
alert("Du måste fylla i korrekt en E-mail adress.");
return false;
}
} else if (document.form.inlaggtext.value=="") {
alert("Du måste fylla i ett något.");
return false;
} else if (document.form.homepage.value.indexOf("://") == -1) {
alert("Du glömde fylla i din hemsidesadress ordentligt.");
return false;
} else {
alert("Ditt meddelande har skickats iväg.");
return true;
}
}
Som det är nu fungerar det ok utan epost, är något skrivet i epost klagar den om det ej är ok, är det ok så händer inget mer
function validateForm() {
if (document.form.name.value=="") {
alert("Du måste fylla i ett namn.");
return false;
} else if (!document.form.email.value.isValidEmail()){
alert("Du måste fylla i korrekt en E-mail adress.");
return false;
} else if (document.form.inlaggtext.value=="") {
alert("Du måste fylla i ett något.");
return false;
} else if (document.form.homepage.value.indexOf("://") == -1) {
alert("Du glömde fylla i din hemsidesadress ordentligt.");
return false;
} else {
alert("Ditt meddelande har skickats iväg.");
return true;
}
}
Jag vill alltså modifiera det så att endast name samt inlaggtext är obligatoriska, men om man fyller i något i email eller homepage så vill jag att de fälten valideras så att det endast blir riktiga adresser ifyllda. (Så riktiga som scriptet anser de vara.)
function validateForm() {
if (document.form.name.value=="") {
alert("Du måste fylla i ett namn.");
return false;
} else if (document.form.email.value && !document.form.email.value.isValidEmail()){
alert("Du måste fylla i korrekt en E-mail adress.");
return false;
} else if (document.form.homepage.value && document.form.homepage.value.indexOf("://") == -1) {
alert("Du glömde fylla i din hemsidesadress ordentligt.");
return false;
} else {
alert("Ditt meddelande har skickats iväg.");
return true;
}
}
Så det är även hemsidefältets validering som skall modifieras? Följande fungerar för mig; varken e-post- eller hemsidefältet är obligatoriska, men fylls något värde i så måste värdet överensstämma med skriptet.
function validateForm() {
if (document.form.name.value=="") {
alert("Du måste fylla i ett namn.");
return false;
} else if (document.form.email.value != "") {
if (!document.form.email.value.isValidEmail()) {
alert("Du måste fylla i korrekt en E-mail adress.");
return false;
}
} else if (document.form.inlaggtext.value=="") {
alert("Du måste fylla i ett något.");
return false;
} else if ( document.form.homepage.value != "" ){
if (document.form.homepage.value.indexOf("://") == -1) {
alert("Du glömde fylla i din hemsidesadress ordentligt.");
return false;
}
} else {
alert("Ditt meddelande har skickats iväg.");
return true;
}
}