多くの Web アプリケーションでは、複数行のレコードを動的に挿入する必要がある場所がたくさんあります。たとえば、人材サイトでは、履歴書を記入する際に、実際の状況に応じて項目の数を動的に追加する必要がありますが、これは別のページの形で追加されません。この動的追加は、「同じページに動的に追加し、最後にサーバーに送信してデータベースに保存する」にあります。
この記事では、同様の例を使用して、フロントエンドで Javascript を使用してデータ項目を動的に追加し、バックグラウンドでデータベースに保存します。
ブラウザ: IE.6.0
バックエンド: ASP (VBScript)
フロントエンド: HTML JavaScript
HTML コード:
conn.execute(sql)
if request("ProjectName").count>0 then
dim maxid
maxid = 1
sql = "select max(id ) UserInfo の maxid として
set rs = conn.execute(sql)
maxid = rs("maxid")
rs.close
set rs = nothing
for i =1 to request("ProjectName").count
sql = "insert into ProjectInfo(uid,pname,pdesc,bdate,fdate) names("
sql=sql&""& maxid &", "
sql=sql&"'"& request("ProjectName")(i) &"',"
sql=sql&"'"& request("Desc")(i) &"',"
sql =sql&"'"& request("BDate")(i) &"',"
sql=sql&"'"& request("FDate")(i) &"')"
Response.Write " "&sql&"
"
conn.execute(sql)
next
end if
if conn.Errors.count > then ' If occus anyトランザクションでエラーが発生しました。トランザクションをロールバックします。
conn.RollBackTrans
else ' エラーでない場合は、トランザクションをコミットします。
conn.commitTrans
end if
conn.close
set conn = nothing
%>
図 2: 別の行を追加し、図 3 にデータを入力します
図 3: 2 行のデータを追加した後、[送信] ボタンをクリックしてデータを送信します
図 4: フォームを送信すると、データベースはブラウザーで出力されたとおりにいくつかの SQL ステートメントを実行し、データがデータベースに正常に追加されます。
概要:
この記事では、JavaScript を使用してフロントエンドでユーザー入力データの列を動的に追加し、バックエンドで ASP テクノロジを使用してフロントエンドで追加されたデータをデータベースに挿入する方法について説明します。
ASP や Javascript を学習している方の参考になれば幸いです。
ご質問がございましたら、私に連絡してください。 この記事に関してコメントがあれば、批判や修正を大歓迎です。