In den letzten zwei Tagen habe ich Freunde gefragt, wie man mit Skripten verschiedene Steuerelemente in HTML bedient, und jetzt werde ich es selbst zusammenfassen. Aus Projektgründen sind viele Programme in VBScript geschrieben. Interessierte Freunde können sie dann in JavaScript umschreiben.
OK, kommen wir zum Thema und stellen es jetzt vor:
Heute stellen wir die Verwendung von VBScript vor, um die Anzahl der ausgewählten Kontrollkästchen und den Wert des ausgewählten Kontrollkästchens zu ermitteln.
Beim Erstellen einer Liste, beispielsweise einer Bestellliste, kann vor jedem Bestelldatensatz ein Kontrollkästchen platziert werden, um Funktionen wie Stapellöschung und -ausgabe bereitzustellen. Im Allgemeinen ist der Wert jedes Kontrollkästchens der Wert des Primärschlüssels des entsprechenden Datensatzes, beispielsweise der Bestellnummer. Wenn Sie Funktionen wie Löschen und Freigeben ausführen, müssen Sie wissen, wie viele Kontrollkästchen aktiviert sind und welchen Werten diese Kontrollkästchen entsprechen. Die Methode wird unten erläutert.
Das Programm ist in drei Teile unterteilt:
1. Bestimmen Sie, ob es sich bei der ausgewählten CheckBox um eine oder mehrere handelt.
Die Hauptidee ist: Wenn mehrere Kontrollkästchen mit demselben Namen, aber unterschiedlichen IDs vorhanden sind, wird das Kontrollkästchen-Steuerelement benannt chkTest, dann wird es in Form eines Arrays aufgerufen. Es gibt beispielsweise drei Kontrollkästchen mit den Namen chkTest1, chkTest2 und chkTest3. Wenn Sie die aktivierten Attribute der drei Kontrollkästchen anzeigen möchten. Sie müssen schreiben: chkTest(0).checked, chkTest(1).checked, chkTest(2).checked (das Array beginnt bei Null); wenn es nur ein Kontrollkästchen gibt, kann chkTest.checked direkt verwendet werden. Dadurch wird festgelegt, dass für unterschiedliche Nummern (eine oder mehrere) nur unterschiedliche Methoden zum Abrufen von Kontrollkästcheninformationen verwendet werden können. Denn wenn mehrere Steuerelemente mit demselben Namen und unterschiedlichen IDs vorhanden sind, verfügt das Steuerelement über die Eigenschaft „Steuerelementname.type“, und diese schreibgeschützte Eigenschaft kann einer beliebigen Zeichenfolge entsprechen, d. h. Steuerelementname.type = „ jede Zeichenfolge“ Konstante ist wahr. Dies ist natürlich nur dann der Fall, wenn ein Steuerelementname.Typ-Attribut vorhanden ist, andernfalls ist es immer falsch, sodass unterschieden werden kann, ob das Kontrollkästchen in der Liste einfach oder mehrfach ist. Das Verfahren ist wie folgt:
'******************************************* ***** ***
'<Funktionsname>
' gfIs_ArrayTest(obj)
'<Funktion>
' Bestimmen Sie, ob es sich bei der ausgewählten CheckBox um eine oder mehrere handelt
'<Parameter>
' CheckBox-Objektname
'<Rückgabewert>
' WAHR
' FALSCH
'<Bemerkungen>
' Erstellt am 15. März 2004 von AITD
'**************************************************
Funktion gfIs_ArrayTest(obj)
Bei Fehler als nächstes fortfahren
if obj.type = "flag" dann
gfIs_ArrayTest = True
anders
gfIs_ArrayTest = Falsch
Ende wenn
Endfunktion
2. Überprüfen Sie, ob die Auswahl der Kontrollkästchen auf dem Bildschirm den Anforderungen entspricht.
Die sogenannte Compliance bedeutet, dass Sie beispielsweise beim Löschen mindestens einen Datensatz auswählen und nur einen Datensatz auswählen andere, was Es können nur 5 Elemente ausgewählt werden, nur 10 Elemente können ausgewählt werden usw. Ändern Sie einfach das folgende Verfahren wie folgt. Vergessen Sie nicht, was ich gerade gesagt habe: Es gibt verschiedene Möglichkeiten, nur ein Kontrollkästchen und mehrere Kontrollkästchen zu verwalten.
'************************************************** * ****
'<Funktionsname>
' gfChkCheckbox()
'<Funktion>
' Prüfen Sie, ob die Auswahl der Screen CheckBox den Anforderungen entspricht
'<Parameter>
' obj: entsprechendes Kontrollkästchen-Steuerelement
'Flag: Prüfregeln: 0, es können mehrere ausgewählt werden
' 1 Es kann nur eine ausgewählt werden
' Name: Fordert den Benutzer mit Informationen darüber auf, welches Steuerelement einen Fehler gemeldet hat
'<Rückgabewert>
' WAHR
' FALSCH
'<Bemerkungen>
' Erstellt am 15. März 2004 von AITD
'************************************************** * ****
Funktion gfChkCheckbox(obj,flag,name)
Dim ich
J
gfChkCheckbox = false
ich = 0
j = 0
'Wenn das Objekt nicht existiert
wenn isnull(obj), dann
msgbox „Bitte wählen Sie einen „ + Namen + „.“ 'Bitte wählen Sie ein Objekt aus
gfChkCheckbox = false
Exit-Funktion
Ende wenn
„Es gibt nur ein Objekt.“
wenn nicht gfIs_ArrayTest(obj), dann
Wenn obj.checked = false, dann
msgbox „Bitte wählen Sie einen „ + Namen + „.“ 'Bitte wählen Sie ein Objekt aus
gfChkCheckbox = false
Exit-Funktion
anders
gfChkCheckbox = true
Exit-Funktion
Ende wenn
end if
'Wenn mehrere Objekte
für i = 0 bis (obj.length - 1)
vorhanden sind
if obj(i).type = "checkbox" dann
wenn obj(i).checked = true dann
j=j+1
Ende wenn
Ende wenn
nächste
wenn j = 0 dann
msgbox „Bitte wählen Sie“ + Name + „.“ ‚Bitte wählen Sie ein Objekt aus
gfChkCheckbox = false
Exit-Funktion
Ende wenn
wenn j = 1 dann
gfChkCheckbox = true
Exit-Funktion
Ende wenn
wenn j > 1 dann
Wenn Flag = 1, dann
msgbox „Nur ein „ + Name + „ kann ausgewählt werden.“ 'Es kann nur ein Objekt ausgewählt werden
gfChkCheckbox = false
Exit-Funktion
anders
gfChkCheckbox = true
Exit-Funktion
Ende wenn
end if
end function
3. Ermitteln Sie
den Wert
des Kontrollkästchens . Zur Vereinfachung der späteren Verarbeitung werden wichtige Informationen häufig im Wertattribut des Kontrollkästchens für den späteren Zugriff gespeichert.Das folgende Programm wandelt den Wert des ausgewählten Kontrollkästchens mithilfe des Trennzeichens „^|^“ in einen String um und gibt ihn zurück.
'**************************************************
'<Funktionsname>
'gfGetCheckBoxValue(obj)
'<Funktion>
'Den Wert der ausgewählten CheckBox abrufen
'<Parameter>
' CheckBox-Objektname
'<Rückgabewert>
'Der Wert der ausgewählten CheckBox
'<Bemerkungen>
' Erstellt am 15. März 2004 von AITD
'**************************************************
Funktion gfGetCheckBoxValue(obj)
dim strValue
dim intCounter
dim i
strValue = ""
intCounter = 0
'Wenn das Objekt nicht existiert
wenn isnull(obj), dann
gfGetCheckBoxValue = strValue
Exit-Funktion
end if
'Wenn das Objekt ein ist
wenn nicht gfIs_ArrayTest(obj), dann
Wenn obj.checked = false, dann
gfGetCheckBoxValue = strValue
Exit-Funktion
anders
gfGetCheckBoxValue = obj.value
Exit-Funktion
Ende wenn
end if
'Wenn das Objekt mehrere ist
für i = 0 bis obj.length - 1
wenn obj(i).checked = true dann
wenn intCounter > 0 dann
strValue = strValue & "^|^" & CStr(obj(i).value)
anders
strValue = CStr(obj(i).value)
Ende wenn
intCounter = intCounter + 1
Ende wenn
next
gfGetCheckBoxValue = strValue
Endfunktion
ist die Methode zur Verarbeitung von Kontrollkästchen in VBScript (gelegentlich verwendet). Diese Funktionen können in eine gemeinsame VBS-Datei gekapselt und im <head>-Tag-Bereich von HTML referenziert werden, um sie universell zu machen ~ wie <head><script language=vbscript src=vbsChkBoxTool.vbs></script> </ head>
Beachten Sie außerdem, dass in tatsächlichen Anwendungen möglicherweise kein einziger Datensatz in der Liste vorhanden ist, die auf der Grundlage der Abfragebedingungen generiert wird, d wird ein Fehler gemeldet. Da es keine gute Lösung gab, habe ich ein Programm geschrieben, um diese Situation ohne Kontrollkästchen-Steuerelement zu umgehen:
function sIsChkBoxExist()
Bei Fehler als nächstes fortfahren
irr.klar
if isEmpty(document.frmOrderList.chkOrder) dann
Ende wenn
Wenn Fehlernummer <> 0, dann
anders
sIsChkBoxExist=true
Ende wenn
irr.klar
Endfunktionsprogramm
eine beliebige Operation für das vorgegebene Steuerelement aus, z. B. isEmpty. Wenn err.number>0 erfasst wird, bedeutet dies, dass das Steuerelement nicht vorhanden ist. Da jedoch ein Fehler vorliegt, wird als nächstes kein Fehler angezeigt Dies wird auch angezeigt. Es wird festgestellt, ob das Steuerelement vorhanden ist.
Rufen Sie vor jedem Aufruf der oben genannten drei Funktionen einmal die Funktion sIsChkBoxExist auf, um zu prüfen, ob das entsprechende Steuerelement vorhanden ist, damit keine Fehler auftreten.