webForumDet fria alternativet

Vem är snabbast? ;)

2 svar · 506 visningar · startad av Prime_66

Prime_66Medlem sedan aug. 2004290 inlägg
#1

Behöver ett simpelt script o javascript o jag är inte bästa vänner. Jag har ett form som innehåller fält med namn songtitle0,songtitle1,songtitle2, osv. samt artist0,artist1,artist2, osv.

Scriptet ska göra en alert + return false om ingen av dessa är ifyllda ('Du måste skriva i artist o låttitel'). Scriptet ska dessutom göra en alert om t.ex. songtitle1 är ifylld men inte artist1 är ifylld och även då returerna false (ska gälla för alla motsvarande artist/songtitle).

Peter SMedlem sedan dec. 20025 483 inlägg
#2

Tänk på att namnge trådarna på ett sätt som beskriver problemet.

<script type="text/javascript">
function validate(f)
{
  var elms = f.elements, len = elms.length, allEmpty = true;
  while (len--){
    if (/^songtitle(\d+)$/i.test(elms[len].name)){
      var song = elms[len], artist = elms["artist" + RegExp.$1];
      if (song.value == "" && artist.value != ""){
        alert("Du måste fylla i både artist och låttitel");
        song.focus();
        return false;
      } else if (song.value != "" && artist.value == ""){
        alert("Du måste fylla i både artist och låttitel");
        artist.focus();
        return false;
      } else if (song.value != "" && artist.value != "") {
        allEmpty = false;
      }
    }
  }
  if (allEmpty){
    alert("Du måste skriva i artist och låttitel");
    return false;
  }
  return true;
}
</script>

<form onsubmit="return validate(this)">
  <input name="songtitle0"><input name="artist0">
  ...
  <input type="submit">
</form>
Prime_66Medlem sedan aug. 2004290 inlägg
#3

Tack peter! Vilken klippa du är! :birp

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