07. juni 2003 - 18:19Der er
11 kommentarer og 1 løsning
Begrænset antal checked RADIO buttons
Hejsa
Jeg har en løkke med noget data omkring nogle dokumenter der ligger i DB, her har jeg også nogle radio buttons som indikere om dukumentet er aktiv som nyhed eller ikke, i denne forbindelse vil jeg gerne have lavet det sådan at der minimum er en nyhed valgt og maximum kan være 3 nyheder valgt! Hvordan gør jeg det??
Jeg har følgende kode :
<% Dim dbnewsConn Dim connection Dim rs
'####### News Admin ############ '## Create db objects and SQL set dbnewsConn = Server.CreateObject("ADODB.Connection") dbnewsConn.Open Application("ConnectString") Set rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT recordid, sublinkname, kategori, dato, newsactive FROM documents WHERE (news = 'news') AND (hidden = 'yes') ORDER BY dato, kategori, headline"
Set rs = dbnewsConn.Execute(sql) %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <html> <head> <title></title>
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Du skal havde gang i noget Javascript. Jeg har prøvet at lave det i koden. Frøst skulle On / Off for hver post havde samme navn så en ON hørte til en Off.
Så lave et javascritp som tæller de radio knapper som er On og kun tillade submit hvis 1-3 er valgt. Jeg har også tilføjet <Form> og submit knappen til din kode.:
Man kan så også tilføje et onClick på On radion knappen og tjekke på antallet og vise popup hvis der er valgt for mange. Sig lige til for eks på det også.
<% Dim dbnewsConn Dim connection Dim rs
'####### News Admin ############ '## Create db objects and SQL set dbnewsConn = Server.CreateObject("ADODB.Connection")
dbnewsConn.Open Application("ConnectString")
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT recordid, sublinkname, kategori, dato, newsactive FROM documents WHERE (news = 'news') AND (hidden = 'yes') ORDER BY dato, kategori, headline"
Set rs = dbnewsConn.Execute(sql) %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <html> <head> <title></title>
function countRadioOn(theform) { var antalOn = 0; if (document.all || document.getElementById) { for (i = 0; i < theform.length; i++) { var tempobj = theform.elements[i]; if (tempobj.type.toLowerCase() == "radio" && tempobj.value.toLowerCase() == "active" && tempobj.checked == true) antalOn = antalOn + 1; } }
return antalOn; }
function tjekSubmit(theform) { var antal; antal = countRadioOn(theform); if ((antal<=3) && (antal>0)) { return true; } else { alert ("Minimum 1 og maximalt 3 skal vælges."); return false; } }
Hejsa EagleEye : Det virker kanont, men jeg vil egentligt også gerne se eksemplet på det med onclick!! *S Jeg vil nemlig også gerne have det sådan at den submitter formen når man har skiftet value i en af radio buttons, så man ikke behøver klikke på en submit knappe :-)
Ok, her er med onClick tilføjet til active radio knappen, man kan stadig max vælge 3. Hvis man vælger en til active og der ikke er valgt 3 endnu så submitter den formen.
<% Dim dbnewsConn Dim connection Dim rs
'####### News Admin ############ '## Create db objects and SQL set dbnewsConn = Server.CreateObject("ADODB.Connection")
sql = "SELECT recordid, sublinkname, kategori, dato, newsactive FROM documents WHERE (news = 'news') AND (hidden = 'yes') ORDER BY dato, kategori, headline"
Set rs = dbnewsConn.Execute(sql) %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <html> <head> <title></title>
function countRadioOn(theform) { var antalOn = 0; if (document.all || document.getElementById) { for (i = 0; i < theform.length; i++) { var tempobj = theform.elements[i]; if (tempobj.type.toLowerCase() == "radio" && tempobj.value.toLowerCase() == "active" && tempobj.checked == true) antalOn = antalOn + 1; } }
return antalOn; }
function tjekSubmit(theform) { var antal; antal = countRadioOn(theform); if ((antal<=3) && (antal>0)) { return true; } else { alert ("Minimum 1 og maximalt 3 skal vælges."); return false; } }
function checkAntal(theform, lastset) { antal = countRadioOn(theform); if (antal>3) { for (var b = 0; b < lastset.length; b++) { if (lastset[b].checked) { lastset[b].checked = false; } else { if (lastset[b].checked==false) { lastset[b].checked = true; } } } alert ("Maximalt 3 skal vælges.");
Du er konge!! Tusind tak for det :-) Det virker kanont, lige i øjet på det jeg ville !!!!!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.