Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Auswertung von Mausklicks





Frage

Wie kann ich in ASP eine Schaltfläche einbauen, die beim klicken darauf eine Prozedur auf der gleichen ASP-Seite aufruft? Ich möchte das gerne machen ohne das ich erst auf einen submit button klicken muss oder eine session basteln muss. Vielleicht geht das ja auch mit einem Link. Bin für jede Hilfe dankbar und werde mich revangieren.

Antwort 1 von Kolja

Hallo Christiane!

Du unterliegst da einem Denkfehler.
Der Code, der in der ASP-Seite steht, wird abgearbeitet, wenn die Seite von einem Client angefordert wird. Das Ergebnis der Abarbeitung wird dannn vom Server gesendet. Die Seite, die der Client empfängt, enthält normalerweise reines HTML. Außnahme:
ein Skriptbereich auf der ASP-Seite ist mit
<SCRIPT RUNAT=Client>...</SCRIPT>
ausgezeichnet. Der Script-Code zwischen den beiden Elementen wird auf dem Client-Rechner ausgeführt. Dies kann sowohl VBScript als auch JavaScript sein. Jedoch wird VBScript nur vom Internet Explorer interpretiert.
Die Lösung deines Problems sieht also so aus, dass Du deine Prozedur (die Du vermutlich in VBS geschrieben hast) in JavaScript übersetzt und als clientseitigen Code kennzeichnest. Dann wird der Code nicht auf dem Server ausgeführt, sondern auf dem Client. Mit Hilfe des Event-Handlers onMouseClick kannst Du dann auf den Klick auf dein Button reagieren. Natürlich ist die Seite dann nicht mehr mit dem Server "verbunden", also hast DU dann keinen Zugriff auf Datenbanken usw.
Ich hoffe ich konnte dir helfen,

MfG Kolja

Antwort 2 von christine

Also erstmal danke.

leider brauche brauche ich stŠndig Zugriff auf eine Datenbank und ich mšchte halt verschiedene mšglichkeiten auf nur einer seite anbiete. Ich benutzte einen login und der darf nicht stŠndig neu eingegeben werden. Ich mšchte es schaffen, dass ich alles Ÿber nur eine ASP-Datei bedienen kann.

Nur ich mšchte halt keine Session aufsetzen.

Vielleicht gibt es auch noch die Mšglichkeit Ÿber ein HTML-Formelement (listbox), die gleich subbmittet wird.

AbhŠngig von dieser Auswahl soll dann die entsprechende Prozedur aufgerufen werden.

Es ist mir klar das ich das mit einer Session machen kann und dann eine Auswahlseite und eine davon abhŠngige Serverseite machen muss.

vielleicht gibt es aber doch irgendwie eine Mšglichkeit eine ASP-Seite aufzubauen, die durch einen Reload die entsprechende Auswahl ermšglicht.

Bis Morgen

Antwort 3 von BaSche

Hi Christine!

Versuch es mal mit der Methode location.replace(NewURL). Damit kannst du die aktuelle Seite ersetzen und bsw. einen neuen Datensatz ausgeben, indem du dir den "QueryString" (siehe Objekt "Request") zusammenbastelst (NewURL = "datei.asp?"+"var1=wert").

Als zweite Möglichkeit kannst du mal die submit() Function (aus dem document.form-Objekt) probieren. Dabei muß der FormTag etwa so aussehen: <FORM name="NAME" method="POST" action="datei.asp">
Du mußt dann aber in der ASP-Datei den QueryString auslesen und weiterverarbeiten (siehe Doku PWS, sonst frag nochmal nach).

Ich hoffe, ich konnte helfen.

Gruß, BaSche

Antwort 4 von christine

Ich habe es mit

response.write("<a href="...index.asp?auswahl=1">Produkte</a>") versucht.

nur leider lädt er damit die seite neu und meine Loginabfrage fällt dann naturlich immer negativ aus.

login Abfrage:

if request.form("username")="supper" and request.form("passwort")="toll" then
Bedingung a
stimmt
else
Bedingung b
stimmt nicht
end if

Was kann ich da machen?

Antwort 5 von BaSche

Setze eine Variable (Zugriff = true|false), die du in deiner login Abfrage true|false setzt. Diese Variable mußt du dann auch über den QueryString übergeben und in der ZielASP prüfen. Das Problem ist jetzt nur noch, daß clevere Leute (wie ich mal einer werden will) einfach in der Adressenzeile des Browsers für die Variable den Wert auf "true" setzen können. Das kannst du aber umgehen, indem du einfach einen total sinnlosen Variablen namen vergibst (member oder so ähnlich), und die Werte true und false durch beliebige Werte ersetzt.

Gruß, BaSche



Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: