Just nu i M3-nätverket
Jump to content

Validera formulär med Javascript & ASP


ÅsaSa

Recommended Posts

Hej

 

Jag har ett ASP-formulät med dynamiska radio-knappar (GetRows()). Jag behöver ha en kontroll på sidan så att 1 knapp nmarkeras. På en sida med vanliga radio-knappar har jag följande javascript:

 

<script type="text/javascript" language="JavaScript">
<!
n=0
function rakna(w){
(document.konsult1.typ[w].checked==true)? n++ : n;
}
function koll(){
if(document.konsult1.typ[1].checked!=true){
if(n<1){alert("Vänligen välj en rad!"); return false}
}
}
//>
</script>

<form  id="konsult1" name="konsult1" onsubmit="return koll()" action="" method="post">

<input id="typ" type="radio" name="typ" value="Uppdragsfragor" onclick="rakna(0)"/>Uppdragsfrågor<br />
<input id="typ" type="radio" name="typ" value="Matarstallning" onclick="rakna(1)"/>Mätarställning</td>

 

Problemet nu är ju att jag ju inte vet hur många knappar som kommer att dyka upp.

 

Min ASP-kod på sidan med de dynamiska radio-knapparna ser ut så här:

 

<%For i = 0 to uBound(arrKund,2)%>
<input name="cID" type="radio" value="<%=arrKund(0, i)%>" id="cID"/>
<input name="cVnr" type="hidden" value="<%=arrKund(1, i)%>" id="cVnr" />
V.&nbsp; <%=arrKund(2, i)%>,&nbsp; <%=arrKund(4, i)%>:&nbsp;<%=arrKund(5, i)%>&nbsp;-&nbsp;<%=arrKund(6, i)%>
<hr id="Hr1" size="1" color="#696969" style="width: 100%; text-align: left"  />
<%Next%>
<input name="action" type="hidden" value="save" />

 

 

/ÅsaSa

 

Tråden flyttad tillbaks till Javascript av moderator

 

[inlägget ändrat 2009-02-26 15:09:51 av Cluster]

Link to comment
Share on other sites

Problemet nu är ju att jag ju inte vet hur många knappar som kommer att dyka upp.
Det torde väl vara värdet på uBound(arrKund,2) minus ett.

 

/Cluster

------------------------------------------------------

I do not fear computers. I fear the lack of them

--------> http://eforum.kicks-ass.net <---------

 

Link to comment
Share on other sites

Yes, men hur skriver jag?

 

När det är ett fast antal radio-knappar så skriver jag ju onclick="rakna(0)", onclick="rakna(1) osv i input, men hur skriver jag nu???

 

 

Link to comment
Share on other sites

Jag kan ge dig en lösning, men först vill jag kontrollera att du tänkt igenom upplägget ordentligt. Radioknappar är en typ av val som i de allra flesta fall kräver att något val redan är gjort i förväg (främst för att du inte per default kan avmarkera allt när du väl kryssat i en av dem). Fundera därför på om du inte ska ha en statisk radioknapp utskriven innan loopen, som är checked från början (ex. "Vet ej" eller dylikt som label), på detta sätt ger du användaren en chans att låta bli att göra ett aktivt val om denne redan kryssat i något annat först.

 

Link to comment
Share on other sites

Hej

 

Knapparna ska finnas på en sida där konsulter ska rapportera sitt uppdrag, så det finns inget "vet ej". Antingen har de varit i butiken och ska rapportera eller så loggar de inte in på sidan. Anledningen till att knapparna blir dynamiska är att antalet butiker petr körplan varierar per uppdrag.

 

 

[inlägget ändrat 2009-02-25 09:57:18 av ÅsaSa]

Link to comment
Share on other sites

Ok. Så det du vill kontrollera är att något val (via JS) har gjorts?

Utan att ha tid att titta igenom dina redan postade rader så utgår jag från att alla radioknappar har samma värde på "name"-attributet. Med detta som grund så kan du kontrollera att något val har gjorts med följande:

 

var radioColl=getElementsByName('NamnetDuGivitDem');
var isChecked=false;
for(i=0;i<radioColl.count;i++)
{
  isChecked=isChecked || (radioColl[i].checked);
}

// Om isChecked är true härefter så är något ikryssat

 

Förslagsvis lägger du in detta i en funktion som returnerar true eller false och använder detta värde i övrig kontrollfunktionalitet.

[inlägget ändrat 2009-02-25 10:44:06 av Anjuna Moon]

Link to comment
Share on other sites

där konsulter ska rapportera sitt uppdrag, så det finns inget "vet ej"

Sidospår - jag är konsult och jag har sett ett antal uppdrag där man angående målet utbrister "vet ej" ;)

 

Link to comment
Share on other sites

Jag är ledsen, men det här är helt nytt för mig, så jag skulle behöva lite mer vägledning.

 

När jag vet hur många radioknappar det finns så skriver jag ju:

 

<script type="text/javascript" language="JavaScript">
<!
n=0
function rakna(w){
(document.konsult1.typ[w].checked==true)? n++ : n;
}
function koll(){
if(document.konsult1.typ[1].checked!=true){
if(n<1){alert("Vänligen välj en Butik!"); return false}
}
}
//>
</script>

<form  id="konsult1" name="konsult1" onsubmit="return koll()" action="" method="post">

<input id="typ" type="radio" name="typ" value="Butik1" onclick="rakna(0)"/>Butik1<br />
<input id="typ" type="radio" name="typ" value="Butik2" onclick="rakna(1)"/>Butik2</td>

 

Men nu när jag inte vet antalet radioknappar, var lägger jag in koden du skrev???

 

 

[inlägget ändrat 2009-02-25 11:35:31 av ÅsaSa]

Link to comment
Share on other sites

Ändra din funktion koll() till följande (samt lägg till de första två raderna också):

 

function koll()
{
  var radioColl=getElementsByName('typ');
  var isChecked=false;
  for(i=0;i<radioColl.count;i++)
  {
     isChecked=isChecked || (radioColl[i].checked); 
  }
  if(!isChecked)
  {
        alert("Vänligen välj en Butik!"); 
        return false
  } 
  else
  {
        return true;
  }

}

 

 

Link to comment
Share on other sites

Desperationen kommer smygande... Det funkar inte.

 

Jag har skrivit följande script:

 

<script type="text/javascript" language="JavaScript">
<!--

function koll()
{
  var radioColl=getElementsByName('cID');
  var isChecked=false;
  for(i=0;i<radioColl.count;i++)
  {
     isChecked=isChecked || (radioColl[i].checked); 
  }
  if(!isChecked)
  {
        alert("Vänligen välj en Butik!"); 
        return false
  } 
  else
  {
        return true;
  }

}
//-->
</script>

 

I Formfältet har jag lagt till: onsubmit="return koll()"

 

Men ska jag inte ha en onclick i input fältet? När jag vet hur många radioknappar det blir så skriver jag ju onclick="rakna(0)", onclick="rakna(1) osv i input, men hur skriver jag nu???

 

Förvirringen är total...

 

 

Link to comment
Share on other sites

Hjääälp, nu kommer inte bara desperationen smygande... Den golvar mig totalt.

 

För dem som kan det här så ser det säkert helt självklart ut hur jag ska göra, men jag är helt novis och får inte till det hur jag än försöker (se tidigare inlägg).

 

 

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...