ユーザーがリンクをクリックしたときにデータベースにデータを追加するために古典的なaspで書き込もうとしています。しかし、私は問題をvbscriptプロシージャを呼び出すことがあります。私は<%Sub/End %>
と使用しようとしました。onclick
私は - onclick="<%insertdata()%>"
を使用しました。これはページの読み込み時に実行されますが、ユーザーがクリックしたときにのみ実行します。だから、私は以下のように変更しましたが、うまくいきません!それはあなたがサーバーとどのようなあなたは、クライアント上で実行する上で実行したいものを分離する必要がASPですのでhref onclick(classic ASP)のVBScript Subを呼び出す
<html>
<head>
<script language="vbscript">
Function insertdata()
Dim con
Dim objRs
Dim strSQL
Set con = Server.CreateObject("ADODB.Connection")
con.Open "DSN=***;UID=***;PWD=***"
strSQL="INSERT INTO Authen_User VALUES ('"&Session.Contents("userKey")&"','"&Session.Contents("name")&"','"&Session.Contents("Type")&"')"
set objRS = con.execute(strSQL)
con.Close
set con=Nothing
End Function
</script>
<title></title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<form><body>
<table><tr><td>
<a href="defaultpage.aspx?key="&Server.URLEncode(Session.Contents("userKey"))" language="vbscript" onclick="insertdata()">Semetral Survey</a><br>
<a href="login_2.asp">Return to Login Page</a>
</td></tr></table>
</body></form>
</html>
実際には、スクリプトを実行できます。ポイントは、ページがロードされるたびにスクリプトが実行されることですが、ハイパーリンクがクリックされたときにのみスクリプトが実行されるようにします。ハイパーリンクをクリックすることなく実行されます。 – nightFury