webForumDet fria alternativet
Logga in / Bli medlem

Ehh....får fel

JavaScript

5 svar · 189 visningar · startad av colione

Medlem sedan juni 20014 421 inlägg
Trådstart#1

Jag anropar följnade kod med onSubmit="return validateForm()"

men som sagt var får jag ett fel.....nån kanske oxå kan hjälpa till med att "städa" koden lite?....tacksam för hjälp...


<script language="JavaScript">
<!-- Hide

function firstToUpperCase(){
return this.substring(0,1).toUpperCase().concat(this.substring(1,this.length).toLowerCase());
}
String.prototype.firstToUpperCase=firstToUpperCase;

function validateForm() {

document.skriv.citat.value=vardet;

vardet=vardet.firstToUpperCase();

var check=/[å\ä\ö]/gi;
var kolla = document.skriv.citat.value.search(check);
if(kolla !=-1)
{
alert("Endast engelska citat!!")
document.skriv.citat.focus();
return false;
}
var check=/[0-9]/i;
var kolla = document.skriv.citat.value.search(check);
if(kolla !=-1)
{
alert("Inga siffror i citatet!!")
document.skriv.citat.focus();
return false;
}     	
if (document.skriv.citat.value == "")
  	{
  	alert("Du måste skriva citat")
	document.skriv.citat.focus();
	return false;
	}
var citat=document.skriv.citat.value;
if(confirm("Vill du lägga till\n" +citat+ " ?")){once();}
else{return false;}
}

function once(theform){

if (document.all&#0124;&#0124;document.getElementById){
for (i=0;i<theform.length;i++){
var tempobj=theform.elements[i]
if(tempobj.type.toLowerCase()=="submit"&#0124;&#0124;tempobj.type.toLowerCase()=="reset")
tempobj.disabled=true
}
return true;
}
else {
return true;
}
}

// -->
</script>
Medlem sedan juni 20004 308 inlägg
#2

Först har du vänt på tilldelningen document.skriv.citat.value=vardet; (det är vardet som du vill tilldela värdet av citat.value och inte tvärs om). Sedan anropar du funktionen once() utan att skicka med formulärsobjektet. Jag har bytt ut denna funktion eftersom den inte fungerar i Netscape mot en enklare och fullt funktionsduglig variant.

Resultatet blir:

function firstToUpperCase(){
	return this.substring(0,1).toUpperCase().concat(this.substring(1,this.length).toLowerCase());
}
String.prototype.firstToUpperCase=firstToUpperCase;

submited=false;
function validateForm() {
	vardet=document.skriv.citat.value;
	vardet=vardet.firstToUpperCase();

	var check=/[å\ä\ö]/gi;
	var kolla = document.skriv.citat.value.search(check);
	if(kolla !=-1){
		alert("Endast engelska citat!!")
		document.skriv.citat.focus();
		return false;
	}
	var check=/[0-9]/i;
	var kolla = document.skriv.citat.value.search(check);
	if(kolla !=-1){
		alert("Inga siffror i citatet!!")
		document.skriv.citat.focus();
		return false;
	}
	if (document.skriv.citat.value == ""){
		alert("Du måste skriva citat")
		document.skriv.citat.focus();
		return false;
	}
	var citat=document.skriv.citat.value;
	if(confirm("Vill du lägga till\n" +citat+ " ?")){
		if(!submited){
			submited=true;
			return true;
		} else {
			alert('Formuläret skickas, var god vänta');
			return false;
		}
	} else{
		return false;
	}
}
Medlem sedan juni 20014 421 inlägg
#3

Tack så mycket.....nästa år blir du säkert årets medlem :)

Medlem sedan juni 20014 421 inlägg
#4

Det funkar fortfarande inte.....jag får inget fel, men den gör inte om texten....

Medlem sedan juni 20004 308 inlägg
#5

Ursäkta, tittade inte så noga på funktionan av scriptet, bara det som var rent felaktigt. Vill du ändra på värdet i fältet citat byter du ut;

vardet=document.skriv.citat.value;
vardet=vardet.firstToUpperCase();

mot;

document.skriv.citat.value=document.skriv.citat.value.firstToUpperCase();

Medlem sedan juni 20014 421 inlägg
#6

tack

260 ms totalt · 4 externa anrop · v20260731065814-full.c32e866c
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)