När jag submitar formuläret så vill jag göra en koll på alla textrutor (de som har ett namn som börjar på u). Dessa ska vara skrivna i formatet XX:YY alternativt vara lämnade tomma. XX kan vara allt mellan 00 och 59, samma sak gäller för YY.
Dvs "00:59", "59:59", "", "15:00" är godkända, medans "0a:15", "00:60", "0015" inte är godkända. Hur gör jag detta?
Jag skulle behöva ha lite hjälp med att modifiera ovanstående JS-Funktion litegrann.
Det är så att jag har ett formulär som skrivs ut dynamsikt och behöver kolla så at alla fält (alla är av typen "text") är ifyllda.
Formuläret består av3 stycken fält på varje "rad" ('mItem_SE', 'mItem_EN' samt 'mSOrder').
Oj, det där ser jättebra ut, fullt användbart i mitt fall, men skulle man kanske kunna fixa till så den validerar "rätt" saker med en gång, kanske lätt att lägga in i ovanstående funktion?
Det är nämligen så att fält nummer 1 ('mItem_SE') är svenska , där får man fylla i max 50 tecken, a-ö, A-Ö, mellanslag etc.
Det andra fältet, (mItem_EN) är engelska och får således bara innehålla a-z, A-Z samt mellanslag etc.
Det tredje och sista fältet, ('mSOrder') är visningsordning för knapparna och får endast innehålla siffror, (1-9).
Hmm, något är fel, när jag klistrar in koden i min js-fil, så lägger den av helt och hållet i Mozilla FF.
Koden ser ut såhär:
<!--
function remws(s){
return s.replace(/\s/g, "");
}
//-->
<!--
function validate(obj){
var elms = obj.elements,
len = elms.length;
for (var i = 0; i < len; ++i){
if (elms[ i ].type != "hidden"){
if (/^mItem_SE/.test(elms[ i ].name)
&& !/^[\wåäö/]+$/i.test(remws(elms[ i ].value))){
alert(elms[ i ].name);
return false;
} else if (/^mItem_EN/.test(elms[ i ].name)
&& !/^[\w/]+$/.test(remws(elms[ i ].value))){
alert(elms[ i ].name);
return false;
} else if (/^mSorder/.test(elms[ i ].name)
&& !/^[1-9]$/.test(remws(elms[ i ].value))){
alert(elms[ i ].name);
return false;
}
}
}
return true;
}
//-->
Det konstiga är att i IE så funkar allt skitbra, men det verkar som att FF inte längre hittar js-filen efter att jag klistrat in koden ovan, för samtliga funktioner i filen blir
'funktionsnamn' not defined.
Som sagt, allt funkar i IE, men i Mozilla lägger filen av helt och hållet om det innehåller scriptet ovan.
Vad gör man åt det här, aldrig råkat ut för't tidigare.
Tack!
/r wF gillade inte [ i] i mitt kodexempel ovan, så har särat på dessa i form av [ i ]
Jag hade glömt att escape:a ett tecken. Inlägget ovan är korrigerat.
Tack, nu funkar jsfilen fullt ut igen, men i Mozilla finns fortf. en bugg.
Har man glömt en ruta så varnar den om det, precis som det ska vara. Men fyller man sedan i den (allt är då ifyllt) och trycker på submit så varnar den iaf. att rutan inte är ifylld.
Formuläret går således inte att posta.
Är det fortf. nått litet fel i koden?
Ahh, jobbigt, du har rätt, det finns - (bindestreck) med i rutorna. Har du lust att lägga till så att det får vara bindestreck samt 0-9 i "mItem_SE/EN" ?