Hej!
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;};
}
}
Peter SMedlem sedan dec. 20025 483 inlägg <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)">
:)
Hej hopp! :)
Har denna nu
[kod]
<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>
[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.
Klurigt detta.
Peter SMedlem sedan dec. 20025 483 inlägg Hur ser din formulärkod ut?
:)
Den är lite lång, men här kommer den.
Förresten, med koden du skrev ovan, skulle jag lägga till den, jag ersatte den "över" den gamla koden, kanske var fel?
ser även att jag har fel namn, ska vara song, inte title.
Ska testa lite
<form enctype="multipart/form-data" method="post" onsubmit="return formvalidation(this)" action="add-songrequest.php?vote=text">
<table width="100%" cellpadding="0" cellspacing="2" border="0">
<tr>
<td class="middle">
<p><font face="Arial, Helvetica, sans-serif" size="-1">Artist Name</font>
</td>
<td class="middle">
<input type="text" name="artist" class="box" value="">
</td>
</tr>
<tr>
<td class="middle" width="100">
<p><font face="Arial, Helvetica, sans-serif" size="-1">Song Title </font>
</td>
<td class="middle" width="150">
<input type="text" name="song" class="box" value="">
</td>
</tr>
<tr>
<td valign="top">
<p><font face="Arial, Helvetica, sans-serif" size="-1">Reason </font>
</td>
<td class="middle">
<textarea class="box" name="reason"></textarea> <i>optional</i>
</td>
</tr>
<tr>
<td class="middle">
<p><font face="Arial, Helvetica, sans-serif" size="-1">Your Name
</font>
</td>
<td class="middle">
<input type="text" name="author" class="box" value=""> <i>optional</i>
</td>
</tr>
<tr>
<td class="middle">
<p><font face="Arial, Helvetica, sans-serif" size="-1">Your Email</font>
</td>
<td class="middle">
<input type="text" name="authoremail" class="box" value=""> <i>optional</i>
</td>
</tr>
<tr>
<td class="middle">
<p><i></i></p>
</td>
<td class="middle">
<p>
<input type="Submit" class="button" value="Send Request" class="submit" ></p>
</td>
</tr>
</table>
</form>
Peter SMedlem sedan dec. 20025 483 inlägg 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>
I BODY taggen(korrigerad kod):
<form enctype="multipart/form-data" method="post" onsubmit="return formvalidation(this)" action="add-songrequest.php?vote=text">
<table width="100%" cellpadding="0" cellspacing="2" border="0">
<tr>
<td class="middle">
<p><font face="Arial, Helvetica, sans-serif" size="-1">Artist Name</font>
</td>
<td class="middle">
<input type="text" name="artist" class="box" value="">
</td>
</tr>
<tr>
<td class="middle" width="100">
<p><font face="Arial, Helvetica, sans-serif" size="-1">Song Title </font>
</td>
<td class="middle" width="150">
<input type="text" name="song" class="box" value="">
</td>
</tr>
<tr>
<td valign="top">
<p><font face="Arial, Helvetica, sans-serif" size="-1">Reason </font>
</td>
<td class="middle">
<textarea class="box" name="reason"></textarea> <i>optional</i>
</td>
</tr>
<tr>
<td class="middle">
<p><font face="Arial, Helvetica, sans-serif" size="-1">Your Name
</font>
</td>
<td class="middle">
<input type="text" name="author" class="box" value=""> <i>optional</i>
</td>
</tr>
<tr>
<td class="middle">
<p><font face="Arial, Helvetica, sans-serif" size="-1">Your Email</font>
</td>
<td class="middle">
<input type="text" name="authoremail" class="box" value=""> <i>optional</i>
</td>
</tr>
<tr>
<td class="middle">
<p><i></i></p>
</td>
<td class="middle">
<p>
<input type="Submit" class="button" value="Send Request" class="submit" ></p>
</td>
</tr>
</table>
</form>
Det verkar vara ngt knas med denna raden
<form method="post" onsubmit="return formvalidation(this)" action="add-songrequest.php?vote=text">
För: action="add-songrequest.php?vote=text">
skrivs ut på sidan
återkommer...
Jag hade två likadana script i head från början.....och tog jag bara bort den ena så hjälpte det ju inte...
Nu fungerar det som det ska. Tack för hjälpen Peter S!!!
:)
Peter SMedlem sedan dec. 20025 483 inlägg Då kan jag radera detta inläggs innehåll :bire
:)