Jag har denna som fungerar bra, men hur kan man ändra så att den även kollar så att inte bara mellanslag tryckts in?
function tomtvalidation(entered, alertbox)
{
with (entered)
{
if (value==null || value=="" || value=='\n' )
{if (alertbox!="") {alert(alertbox);} return false;}
else {return true;}
}
}
function formvalidation(thisform)
{
with (thisform)
{
if (tomtvalidation(title,"Enter title name please")==false)
{title.focus(); return false;};
if (tomtvalidation(writing,"Enter the artist name please")==false)
{artist.focus(); return false;};
}
}
<script type="text/javascript">
<!--
function formvalidation(o){
var re=/^[\s]*$/;
if(re.test(o.elements["title"].value)){
alert("Enter title name please");
return false;
}
if(re.test(o.elements["writing"].value)){
alert("Enter the artist name please");
return false;
}
};
//-->
</script>
...
<form onsubmit="return formvalidation(this)">
if(re.test(o.elements\["title"\].value)){
alert("Enter title name please");
return false;
}
if(re.test(o.elements\["artist"\].value)){
alert("Enter the artist name please");
return false;
}
};
//-->
</script>
[kod]
Den verkar släppa igenom mellanslag ändå, samt även om man trycker på submitknappen direkt.
Men om det finns något i ena fältet så kommer popupen fram och säger att det saknas text i det andra fältet.
Du skall ersätta den gamla koden med denna ;) Precis som du skrev så skall det vara "song" istället för "title":
function formvalidation(o){
var re=/^[\s]*$/;
if(re.test(o.elements["artist"].value)){
alert("Enter an artist name please");
return false;
}
if(re.test(o.elements["song"].value)){
alert("Enter a title please");
return false;
}
};
Då fungerar det bättre, om man fyller i ena fältet frågar den efter det andra.
Nu går det inte hellar att trycka på submit på en gång.
Dock så tar den mellanrum :(
"Hela" koden:
I HEAD taggen:
<script type="text/javascript">
<!--
function formvalidation(o){
var re=/^[\s]*$/;
if(re.test(o.elements["title"].value)){
alert("Enter title name please");
return false;
}
if(re.test(o.elements["artist"].value)){
alert("Enter the artist name please");
return false;
}
};
//-->
</script>