webForumDet fria alternativet

Kontrollera flera fält med samma namn

2 svar · 254 visningar · startad av stevenet

stevenetMedlem sedan juni 20001 251 inlägg
#1

Hej igen!

Denna fråga bygger vidare på denna tråden:
http://www.webforum.nu/showthread.php?t=152813

Jag vill nu kontrollera så att alla fält som heter points[] har ett värde, minst 0 till och med 100. Alla fält med namnet alternative[] ska ha 2-30 tecken. Helst ska det inte gå att lura detta genom att banka in två mellanslag.

Tacksam för förslag och ledtrådar!

Peter SMedlem sedan dec. 20025 483 inlägg
#2
<script type="text/javascript">
function trim(s)
{
  return s.replace(/(^\s+)|(\s+$)/g,"");
}
function validate(f)
{
  var p = f.elements["points[]"];
  var a = f.elements["alternative[]"];
  if (!p.length){
    if (!/^\d+$/.test(p.value) || p.value < 0 || p.value > 100){
      alert("...");
      return false;
    }
  } else {
    for (var i = 0; i < p.length; ++i){
      if (!/^\d+$/.test(p[i].value) || p[i].value < 0 || p[i].value > 100){
        alert("p...");
        return false;
      }
    }
  }
  if (!a.length){
    var val = trim(a.value);
    if (val.length < 2 || val.length > 30){
      alert("a...");
      return false;
    }
  } else {
    for (var i = 0; i < a.length; ++i){
      var val = trim(a[i].value);
      if (val.length < 1 || val.length > 30){
        alert("...");
        return false;
      }
    }
  }
  return true;
}
</script>

<form onsubmit="return validate(this)">
stevenetMedlem sedan juni 20001 251 inlägg
#3

Kanon, tack!

250 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
124 ms — hämta statistik (db)
124 ms — hämta tråd, inlägg och bilagor (db)