ページング値渡しについて

このQ&Aのポイント
  • ページングの値渡しの際がうまくいきません。次のページっていうのをボタンで作って、次の10件が表示させるようにさせたいのです。オブジェクトでサポートされていないプロパティまたはメソッドですとエラーがでます。コンパイル後、SQLエラーと表示されます。
  • 以下のソースコードの部分でエラーが発生しています。ページングの値渡しをするためにオブジェクトでサポートされていないプロパティまたはメソッドが使用されており、コンパイル後にSQLエラーが発生しています。
  • ページングの値渡しに関してエラーが発生しています。次のページを表示するためのボタンを作成し、次の10件を表示させたいのですが、オブジェクトでサポートされていないプロパティまたはメソッドが使用されているためにエラーが発生し、コンパイル後にはSQLエラーが表示されます。
回答を見る
  • ベストアンサー

ページング値渡しについて

sea_clear_sky8です。 [環境] OS 98SE PWS [質問内容] ページングの値渡しの際がうまくいきません。 忙しいところすいませんがよろしくお願いします。 次のページっていうのをボタンで作って、次の10件が表示させるように させたいのです。 下記ソースのvar frm = document.GetElemntById("myForm");の部分で オブジェクトでサポートされていないプロパティまたはメソッド ですとエラーがでます。 それからコンパイル後、SQLエラーと表示されます。 このSQLエラーというのは下記ソースのエラー処理で行っている SQLエラーというのが表示されています。 [ソース] [bunkatsu1.html] <html> <body> <form action="bunkatsu1.asp" method="post"> 名前:<input type="text" name="nm"> <input type="hidden" name="page_num" value="0"> <input type="submit" name="exec" value="検索"> </form> </body> </html> [bunkatsu1.asp] <html> <script type="text/javascript"> <!-- function myClick() { var frm = document.GetElemntById("myForm"); frm.action ="bunkatsu1.ASP"; frm.method= "get"; frm.submit(); } // --> </script> <body> <% On Error Resume Next Dim DB,CMD,RS,AllCnt '接続処理 Set DB = Server.CreateObject("ADODB.Connection") DB.Open "mysql" If Err.number <> 0 then Response.Write "接続エラー" Response.End End If ' LIMITを使ったSELECT文を実行 Set CMD = Server.CreateObject("ADODB.Command") CMD.ActiveConnection = DB CMD.CommandText = "select * from test_t " & _ "where name like '%" & Request("nm") & "%' " & _ "order by id " & _ "limit " & Request("page_num")*10 & ",10" Set RS = CMD.Execute If Err.number <> 0 then Response.Write "SQL実行エラー" Response.End End If ' 結果出力 Response.Write "<table border=1>" Response.Write "<tr><td>id</td><td>name</td></tr>" Do Until RS.EOF Response.Write "<tr>" Response.Write "<td>" & RS("id") & "</td>" Response.Write "<td>" & RS("name") & "</td>" Response.Write "</tr>" RS.MoveNext If Err.number <> 0 then Response.Write "次データ取得エラー" Response.End End If Loop Response.Write "</table>" ' 検索条件に該当する全データの件数取得 CMD.CommandText = "select count(*) from test_t " & _ "where name like '%" & Request("nm") & "%' " Set RS = CMD.Execute If Err.number <> 0 then Response.Write "SQL実行エラー" Response.End End If AllCnt=RS(0) ' ページ数表示 if AllCnt>10 then Response.Write Abs(Int(-1*(AllCnt/10))) & "ページ中の" Response.Write Request("page_num")+1 & "ページ目を表示<br>" end if ' 前の10件 if Request("page_num")<>0 then end if ' 次の10件 if ((Request("page_num")+1)*10) < AllCnt then response.write "<form id=""myForm"" method=""post"">" response.write "<input type=""Submit"" value=""次の10件&gt;"" onclick=""myClick();"">" response.write "<input type=""HIDDEN"" name=""num"" value=""&request(""num"")&"">" このTEXTボックスはHIDDENのNUMに何が入っているか確認するための ものです。 response.write "<input type=""text"" name=""test"" value=""&=request(""num"")&"">" response.write "<input type=""HIDDEN"" name=""page_num"" value=""&request(page_num)+1&"">" このTEXTボックスはHIDDENのPAGE_NUMに何が入っているか確認するための ものです。 response.write "<input type=""text"" name=""test1"" value=""request(page_num)+1&"">" response.write "<input type=""submit"" value=""更新"">" response.write "</form>" end if ' レコードセット解放 RS.Close ' 切断 DB.Close ' オブジェクト解放 Set CMD=Nothing Set RS=Nothing Set DB=Nothing %> </body> </html> 忙しいところすいませんが、ご教授願います。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

valueの値の設定を行う部分に "が足りません response.write "<input type=""text"" name=""test"" value=""&=request(""num"")&"">" ですとおかしなことになります response.write "<input type=""text"" name=""test"" value=""" & request("num") & """>" といった具合にします つまり "<input type=""text"" name=""test"" value=""" で1つの文字列 & request("num") & で変数の文字列化 """>" で締めくくり といった具合です

sea_clear
質問者

お礼

sea_clear_sky8です。 丁寧に何回も回答ありがとうございます。 悩んでいたもやもやが無事解決しました。 全部回答して頂いて、すいませんでした。 忙しいところ、回答ありがとうございました。 ボタンで正常に動作するものが作れました ありがとうございました。 また、機会があれば、よろしくお願いします。 ほんとに丁寧にして頂いて、助かりましたありがとうございました。

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

すみません タイプミスのようです var frm = document.getElementById("myForm"); が正解でしょう

sea_clear
質問者

お礼

sea_clear_sky8です。 何回も回答ありがとうございます。 無事JAVASCRIPTのエラーは消えました。 回答ありがとうございました。 データベースを検索し、データベースを表示 するところでSQLエラーがでています。 渡しの値渡しの書き方がおかしいため、無事に動作しないと私的には 考えています。 Reguest("nm")をINPUT HIDDENのVALUEの中に 入れるにはどう、記入したらいいのでしょうか? 下の書き方ではうまくいきません。 response.write "<input type=""HIDDEN"" name=""nm"" value=""&request(""nm"")&"">" このTEXTボックスはHIDDENのNUMに何が入っているか確認するための ものです。 response.write "<input type=""text"" name=""test"" value=""&request(""nm"")&"">" response.write "<input type=""HIDDEN"" name=""page_num"" value=""&request(page_num)+1&"">" <%= %>の記入の仕方はResponse.writeではどう書けばいいかわかりません。すいませんがよろしくお願いします。

関連するQ&A

  • HIDDENについて

    sea_clear_sky8です。 [環境] Win98SE PWS [質問内容] 次のページ、前のページ、最初のページ、最後のページっていうのを作って ページングさせたいのですが、 下記のように一つ一つにHIDDENNを作ると、全部のボタンが表示されている 場合にボタンをクリックすると下記SQLで、Commandオブジェクトのコマンドが設定されていませんとエラーが表示されます。 [SQL] "select * from test_t " & _ "where name like '%" & Request("nm") & "%' " & _ "order by id " & _ "limit " & Request("page_num")*10 & ",10" [最初のページ] response.write "<input type=""Submit"" value=""最初のページ&gt""onclick=""myClick();"">" response.write "<input type=""HIDDEN"" name=""page_num"" value=""&0&"">" [次のページ] response.write "<input type=""Submit"" value=""次の10件&gt""onclick=""myClick();"">" response.write "<input type=""HIDDEN"" name=""page_num"" value=""" & request("page_num")+1 & """>" [前のページ] response.write "<input type=""Submit"" value=""前の10件&gt""onclick=""myClick();"">" response.write "<input type=""HIDDEN"" name=""page_num"" value=""" & request("page_num")-1& """>" [最後のページ] response.write "<input type=""Submit"" value=""最後のページ&gt""onclick=""myClick();"">" response.write "<input type=""HIDDEN"" name=""page_num"" value=""" &Abs(Int(-1*(AllCnt/10)))& """>" エラーの原因は最初のページと最後のページのVALUEの部分のvalue=""&0&""、 value=""" &Abs(Int(-1*(AllCnt/10)))& """の部分の記入の仕方が おかしいか、各ボタンごとにHIDDENを作成しているため、おかしいのでは ないかと考えています。 HIDDENを一個にする方法はありますか、 いろいろ考えていますが、考えつかない状態です。 また、他に原因があればよろしくお願いします。 すいませんが、ご教授願います。 よろしくお願いします。

  • 次データ取得エラーについて

    sea_clear_sky8です。 [環境] OS 98SE PWS [質問内容] SQL CMD.CommandText = "SELECT * from test_t" このSQLだと下記のソースの部分が通り、データを表示 させることができます。 でも、 SQL CMD.CommandText = "select * from test_t " & _ "where name like '%" & Request("nm") & "%' " & _ "order by id " & _ "limit " & Request("page_num")*10 & ",10" だと次データ取得エラーと表示され、エラー番号3251が表示され 二つ目のデータから取得できません。 忙しいところすいませんが、ご教授願います。 エラー番号等で、インターネットで調べましたが、原因がわからない 状態です。よろしくお願いします。 [ソース] Do UntiL RS.EOF=true For i = 0 to RS.Fields.Count-1 Response.write RS(i).name k = RS(i).name + CSTR(RS.bookmark) Response.write "<input name="&k&" value="&RS(i)&">" next Response.write "<BR>" RS.MoveNext Loop

  • Ifが正常に動作しない。

    下記のコードで、login.htmlからデータを適当に入力し てかえってくる処理が全て、空の表示になってしまう。 Ifが正常に動作しません、正常に動作するようにするにはどうすればいいのでしょうか? <login.html> <html> <body> <table> <tr> <td>id:</td> <td><input type="text" name="id"></td></tr> <tr><td>password:</td> <td><input type="password" name="pass"></td></tr> </table> <form methed="post" action="http://session.asp"> <input type="submit" name ="sb" value="login" > </form> </body> </html> session.asp <html> <body> <% if session("id")="" Or session("id")= null then if request("pass")="" Or request("id")= null then response.write "空" elseif request("pass")= "1234" then session("id")="login" response.write "ログインしました。" else response.write "違う" end if else response.write "ログインしました" response.write session("id") end if %> </body> </html>

  • フォームのチェックボックスの値を次のページで読み込む方法

    「1.htm」のフォームでチェックボックスを作成し、 「2.asp」で結果を出力しようとしています。 が、複数チェックを入れるとエラーになります。 どこがまちがっているのでしょうか。 どなかたご教授ください。 宜しくお願いします。 ****1.htm**** <form method="POST" action="2.asp"> <INPUT type="checkbox" name="koumoku" value="1">1<br> <INPUT type="checkbox" name="koumoku" value="2">2<br> <INPUT type="checkbox" name="koumoku" value="3">3<br> </form> ****2.asp**** <% koumoku = Request.Form("koumoku") If koumoku = 1 then Response.Write "<p>1111</p>" End If If koumoku = 2 then Response.Write "<p>2222</p>" End If If koumoku = 3 then Response.Write "<p>3333</p>" End If ****エラーメッセージ****** 型が一致しません。: '[string: "1, 2, 3"]'

  • 複数のランダムクイズの表示がうまくいきません・・・。

    以下のようなプログラムを作成しましたが、表示が思うようにいきません。。 本当なら複数の問題をランダムで5問ずつ表示したいのですが、すべて表示することができず、1問のみだったり、3問のみしか表示されなかったりとバラバラです。 記述方法が悪いのでしょうか?どなたか分かる方いらっしゃいましたらご教授お願いします。 ------------------------- <% accessdb="cityquiz" cn="DRIVER={Microsoft Access Driver (*.mdb)};" cn=cn & "DBQ=" & server.mappath(accessdb) set rs = Server.CreateObject("ADODB.Recordset") sql = "select * from quiz" rs.Open sql, cn, 1, 3 total_records=rs.recordcount randomize random_number=int(rnd*total_records)+1 rs.MoveFirst do while not rs.eof and counter <> random_number counter = counter + 1 if counter= random_number then response.write rs("問題") & "<br>" response.write "<input type='radio' name='Q1' vakue='" & rs("ID") & "1'>" & rs("1択") & "<br>" response.write "<input type='radio' name='Q1' vakue='" & rs("ID") & "2'>" & rs("2択") & "<br>" response.write "<input type='radio' name='Q1' vakue='" & rs("ID") & "3'>" & rs("3択") & "<br>" response.write "<input type='radio' name='Q1' vakue='" & rs("ID") & "4'>" & rs("4択") & "<br>" response.write "<br>" end if counter2 = counter + 2 if counter2= random_number then response.write rs("問題") & "<br>" response.write "<input type='radio' name='Q2' vakue='" & rs("ID") & "1'>" & rs("1択") & "<br>" response.write "<input type='radio' name='Q2' vakue='" & rs("ID") & "2'>" & rs("2択") & "<br>" response.write "<input type='radio' name='Q2' vakue='" & rs("ID") & "3'>" & rs("3択") & "<br>" response.write "<input type='radio' name='Q2' vakue='" & rs("ID") & "4'>" & rs("4択") & "<br>" response.write "<br>" end if counter3 = counter + 3 if counter3= random_number then response.write rs("問題") & "(3)<br>" & counter3 response.write "<input type='radio' name='Q3' vakue='" & rs("ID") & "1'>" & rs("1択") & "<br>" response.write "<input type='radio' name='Q3' vakue='" & rs("ID") & "2'>" & rs("2択") & "<br>" response.write "<input type='radio' name='Q3' vakue='" & rs("ID") & "3'>" & rs("3択") & "<br>" response.write "<input type='radio' name='Q3' vakue='" & rs("ID") & "4'>" & rs("4択") & "<br>" response.write "<br>" end if ~略~ rs.movenext loop %>

  • ページングをつけたいんです。教えて下さい。

    今、友人同士の名簿をデータべスにしてます。 そこで、mySQLをつかってPHPで検索するシステムを作りたく、検索まではできるようになったのですが、ページングの仕方がわかりません。 PEARは使用できないので、どなたか下記にどのようにプログラムを追加すればページング機能がつけられるか教えて下さい。お願い致します。 (下記の検索プログラムは、http://php.dori-mu.net/で紹介されていたものを利用しました。) --------------------------------------------------------------- <html> <head> <title>PHP SEARCH RESULT</title> <meta http-equiv="Content-Type" content="text/html; charset=x-euc-jp"> </head> <body> <? $debug = false; //DB接続 mysql_connect("127.0.0.1","sample",""); mysql_select_db("sample"); if($debug) print_r($HTTP_POST_VARS); //エラーチェック //リクエストメソッドチェック if($REQUEST_METHOD != "POST") { print "Error: invalid method"; exit(); } //クエリ生成 $query = "SELECT * FROM search "; //検索条件生成 //名前 if(!empty($name)) { $name = addslashes($name); $where = "name = '$name' && "; } //住所 if(!empty($address)) { $address = addslashes($address); $where .= "address REGEXP '$address' && "; } //性別 if(!empty($gender)) { $gender = addslashes($gender); $where .= "gender = '$gender' && "; } //スキル if(!empty($skill)) { foreach($skill as $value) { $value = addslashes($value); $temp_where .= "skill REGEXP '$value' || "; } $temp_where = substr($temp_where, 0, -4); $where .= "(". $temp_where. ") && "; } if(!empty($where)) { $where = substr($where, 0, -4); $where = "WHERE " . $where; } $query .= $where; if($debug) { print "<BR><BR>"; print $query; } $result = mysql_query($query); $num_rows = mysql_num_rows($result); if($num_rows == 0) $message = "該当するデータはありませんでした"; else $message = $num_rows . "件ヒットしました"; ?> 検索結果<br> <?=$message?> <table border=1> <tr><td>名前</td><td>住所</td><td>性別</td><td>スキル</td></tr> <? while($row = mysql_fetch_assoc($result)): ?> <tr><td><?=$row[name]?></td><td><?=$row[address]?></td><td><?=$row[gender]?></td><td><?=$row[skill]?></td></tr> <? endwhile; ?> </table> <a href="input.html">再検索</a> </body> </html> ----------------------------------------------------------------

    • 締切済み
    • PHP
  • echo での 変数の扱い方について

    phpでの 下記のスクリプトについて、エラーが出てしまいす。エラー内容は 「syntax error, unexpected '"' 」 というものです。 echo "<input type=\"hidden\" name=\"page_num\" value=\".($page_num-1).\">"; これは、<input type="hidden" name="page_num" value="page_num-1"> を echoで 表記しようとしたものですが、どこが間違っているのか。 おそらく、$page_num-1 の変数の扱いに問題があるようなんですが、 どのように書けばいいでしょうか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 九星を求めるプログラム

    こんにちは、いつもお世話になっています 練習で次のようなプログラムを作ったのですがうまく値が帰ってきません。何を入れても、「あなたは九紫火星です」が戻ってきます。どこが間違っているのか教えていただけますと非常に助かります… 九星の計算はここを見てください http://homepage1.nifty.com/luck/newpage41.htm htmlにはフォームがあって、生年月日を入力するようになっています。 誕生日 <INPUT TYPE=radio NAME=nengo VALUE=showa CHECKED>昭和 <INPUT TYPE=radio NAME=nengo VALUE=heisei >平成 <INPUT TYPE=text NAME=nen VALUE="" SIZE=3>年 <INPUT TYPE=text NAME=gatu VALUE="" SIZE=3>月 <INPUT TYPE=text NAME=hi VALUE="" SIZE=3>日 で、aspでは、 NENGO=Request.Form("nengo") NEN=Request.Form("nen") GATU=Request.Form("gatu") HI=Request.Form("hi") HIKAKU1=DateSerial(1985,GATU,HI) HIKAKU2=DateSerial(1985,2,3) If HIKAKU1<=HIKAKU2 Then NEN=NEN-1 End If Kyu1=Mid(NEN,1,1) Kyu2=Mid(NEN,2,1) Kyu=Kyu1+Kyu2 If Kyu>10 Then Kyu=Kyu+1 End If Select Case Kyu Case 1 Response.Write "あなたは一白水星です" Case 2 Response.Write "あなたは二黒土星です" Case 3      (略) Case 8 Response.Write "あなたは八白土星です" Case Else Response.Write "あなたは九紫火星です" End Select      ・      ・      ・     (続きは関係ないので省略) すみませんがよろしくお願いします。

  • submitの値取得に

    sea_clear_skyです。 [環境] Win98SE PWS フォームに名前が同じ二つのサブミットのボタンを作成します。 そして、飛んだ先のASPのファイルで、サブミットのボタンのV ALUEの値で、IF文で、処理を分岐したいのですが、 Reqest("サブミットボタン名.Value")で 値を取得することができません。 また、hiddenのボタンを作り、サブミットの値を入れて移していますが うまくいきません。 ご教授願います。 [ソース] Response.write"<form action =""ASPファイル"" method=""POST"">" フォームの中身は省略 Response.write"<input type=""submit""value=""更新"" name=""syouhin"">" Response.write"<input type=""submit""value=""次へ"" name=""syouhin"">" Response.write"<input type=""reset""value=""リセット"" name=""syouhin"">" Response.write"<input type=""hidden"" name=""kakushi""value=""&syouhin.value&"">" 飛んだ先のASPファイルのデータ表示 response.write request("shouhin") response.write request("kakushi")

  • 確認画面を出す

    こんにちは。早速ですが現在下記のようなメールフォームを作成しているのですが、 <% 'On Error Resume Next If Len(Request("name")) = 0 then Response.Write "お名前が入力されていません。" & "<br>" Response.Write "前ページへ戻るボタンを押して下さい。" & "<br>" Response.Write "<br>" Response.Write "<input type='button' value='前ページへ戻る' onclick='JavaScript:history.go(-1);'>" & "<br>" ElseIf Len(Request("mail")) = 0 then Response.Write "メールアドレスが入力されていません。" & "<br>" Response.Write "前ページへ戻るボタンを押して下さい。" & "<br>" Response.Write "<br>" Response.Write "<input type='button' value='前ページへ戻る' onclick='JavaScript:history.go(-1);'>" & "<br>" ElseIf Len(Request("message")) = 0 then Response.Write "お問い合わせ内容が入力されていません。" & "<br>" Response.Write "前ページへ戻るボタンを押して下さい。" & "<br>" Response.Write "<br>" Response.Write "<input type='button' value='前ページへ戻る' onclick='JavaScript:history.go(-1);'>" & "<br>" else 'メール送信 Set bobj = Server.CreateObject("basp21") ' ASP svname = "xxxx" ' <== smtp サーバマシン名 mailto = "xxxxx" ' 宛先 mailfrom = "xxxxx" '差出し人 subj = "お問い合わせフォームより" ' 件名 body = "お名前      :"& Request("name") & vbCrLf _ & "電話番号     :"& Request("phone") & vbCrLf _ & "メール      :"& Request("mail") & vbCrLf _ & "お問い合わせ内容 :"& Request("message") & vbCrLf file = "" rc = bobj.SendMail(svname,mailto,mailfrom,subj,body,file) if rc <> "" then ' エラーチェック 'エラー! Response.Write "エラーで送信できませんでした。" & rc & "<br><br>" else Response.Write "お問い合わせありがとうございました。" & "<br>" Response.Write "メールを確認次第ご連絡させていただきます。" & "<br>" end if end if %> ここで入力させた内容を一度確認画面を出して、送信を行いたいと思うのですが、フォームの引き継ぎ方が分かりません。 どうぞ皆様のお力をお貸し下さい。 宜しくお願いします。

専門家に質問してみよう