
AというASPには複数のformがあります。
DBの取得結果を表示しており、countには取得件数が入ってます。
また、件数分同じformがあり、判別はnameにて行っています。
検索件数<%=count %>件
<input type="button" value="一括修正" action="Update()">
<% Do Until rs.EOF %>
<form method="POST" target="main" name="updatename<%=ii%>">
<input type="hidden" name="no" value="<%= rs.Fields.Item("NO").Value %>"
…
</form>
…
<% ii= ii+1
rs.MoveNext
Loop%>
受け取り側のBというASPでは
<form method="POST" name="update">
<%For i = 1 To count%>
<input type="hidden" name="no<%=i%>" value="<%=Server.HTMLEncode(Request.Form("No" & i)) %>">
<%Next%>
</form>
のようにループにて送信側のデータを取得しています。
このAとBの間をjavascript(外部ファイル)にてやろうと思っています。
Javascript(データ受け渡し)
function Update() {
var Cnt
for (Cnt=1; Cnt<count ; Cnt++){ // 件数分ループ
var No(Cnt) = document.all.updatename(Cnt).no.value;
document.update.no(Cnt).value=No(Cnt);
}
document.update.action = "B.asp";
document.update.target = "main";
document.update.submit();
}
やりたい事は、Aというファイルにある複数のformから値を取得し、Bというファイルにある項目に設定する、という事なのですが、上手くいきません。
・Aというページの件数をjavascriptで使用する方法
・Aというページの複数formから値を取得する方法
document.allを使用すると上手くいく、とネットで検索してわかったのですが、いまいち使用方法がわからず、こまっています・・・。
どうか宜しくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
#2はあくまでも複数のformを検索する方法です。
ホントに私の言いたかったのはこういうことなんです
けど・・・。
(書式があってるかどうかは知りません)
<form method="POST" target="main">
<% Do Until rs.EOF %>
<input type="hidden" name="no" value="<%= rs.Fields.Item("NO").Value %>"
…
…
<% ii= ii+1
rs.MoveNext
Loop%>
</form>
<input type="button" value="一括修正" action="Update()">
<% Do Until rs.EOF %>
<form method="POST" target="main" action= "aaba.asp">
<input type="submit" value="修正">
<input type="hidden" name="no" value="<%= rs.Fields.Item("NO").Value %>"
</form>
<form method="POST" target="main" action= "bbab.asp">
<input type="submit" value="削除">
<input type="hidden" name="no" value="<%= rs.Fields.Item("NO").Value %>"
</form>
…
…
<% ii= ii+1
rs.MoveNext
Loop%>
ソースはこんな風になっているんで、1つのFormで大きく囲む事はできないんです。
一件に対する処理画面もあるので、一つで大きく囲むとそちらの処理画面にて値を簡単に取れなくなる上、不具合の元になるので、使用できないのです・・・。
No.2
- 回答日時:
私はサーバーサイドのjavascriptには詳しくない
のでなんともいえませんが、loopの外側に
formを1つ書けばすむ書式にも見えますが・・・。
とりあえずサンプルとしてこんな感じの書いて
みました。参考になれば・・・
//formtest.htm
<form>
<input type="text" value="xxx" name="no1">
</form>
<form>
<input type="text" value="yyy" name="no2">
</form>
<form>
<input type="text" value="zzz" name="no3">
</form>
<form action="formtest.htm" method="get" onSubmit="return sendall(this)">
<input type=submit value=send>
</form>
<script language=javascript>
function sendall(f){
for(var i=0;i<document.forms.length;i++){
if (document.forms[i]!=f){
for(var j=0;j<document.forms[i].elements.length;j++){
f.innerHTML +="<input type='hidden' name='"+document.forms[i].elements[j].name+"' value='"+document.forms[i].elements[j].value+"'>";
}
}
}
// alert(f.innerHTML);
return true
}
</script>
ありがとうございます。
yambejpさんのソースを動かしてみようと思います。
Formで囲っている入力フォームが多数ある場合、これだと取得できないような気もしたのですが…。
画面イメージ的にアクセスの表の各行の一番左にボタン(削除、修正)があり、その表の一番上に一括修正ボタンがあるような画面なのです。
ですので、Loopの外にFormを設定するとFormの入れ子になって、余計な値が入ってしまったりする為、Loopの外側を一つのFormで括ることは無理なようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【FORM】 リンク文字で submit...
-
1つのform内に2つのsubmitボタ...
-
submitした値を返したい
-
<input>の選択肢をプルダウンメ...
-
Selectボックスの幅を自動で広...
-
javaScriptの変数をJavaの変数...
-
JavaScriptのfileオブジェクト...
-
<JavaScript>tableタグを入力不...
-
ASP.NETでNAME属性を固定にしたい
-
RegularExpressionValidatorの...
-
クリックされた罫表セルの行番...
-
同じ名前のセレクトがある場合...
-
onchangeイベントを強制的に発...
-
プルダウンで選択された値を別...
-
二次元配列に数字をランダムに...
-
sessionの値でボタンを活性・非...
-
JQueryで2つのテキストフィー...
-
cookie使用時にundefinedと表示...
-
doPostBack 関数について
-
tableの任意行にfocusをあてる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptでASPにデータを渡す
-
Cookieに保存されない
-
Javascriptでlocation.hrefが妙...
-
別ウィンドウへのsubmitの挙動...
-
JavaScript:現在フォーカスの...
-
javascriptで日付+整数+選択...
-
商品ページのフォームのテキス...
-
1つのページにformを2つ設置。2...
-
submitした値を返したい
-
1つのform内に2つのsubmitボタ...
-
別窓ウィンドウから親ウィンド...
-
ページを再読み込み後、再読み...
-
iframe内のformをサブミットす...
-
タブキーでなくエンターキーで...
-
Chromeで複数submit
-
JAVASCRIPT
-
focus()が上手くいかない
-
this.formがundefined
-
フォームのvalueに配列を格納す...
-
ファイル選択と同時にアップロ...
おすすめ情報