現在、PHPで生成したhiddenフィールドに、Valueを設定しない記述(配列のような形式)を行い、JavaScriptにて値を代入するプログラムを作っています。
エラーは出ていないようなのですが、値が代入されません。Alertでみると、undefinedというメッセージが出ています。hiddenフィールドへの格納方法をご教授ください。
<ソース>(抄)
function user_num() {
var i=1,l=0, num = document.getElementById('users').length;
document.user_select.user_no =new Array(num);
while(num > 0){
document.getElementsByName('user_no[i]').value = document.getElementById('users').options[l].value;
alert(document.getElementsByName('user_no[i]').value);
num--;
i++;
l++;
}
}
(中略)
hiddenフィールド生成文
<?php
$n=1;
while($i){
print '<input type="hidden" name="user_no[';
print $n;
print ']"';
print ' id="user_no[';
print $n;
print ']">';
$i=$i-1;
$n=$n+1;
}
?>
No.2ベストアンサー
- 回答日時:
#1です。
サンプルは動いた。うまくはいきません。ではどうしたらいいのかサッパリわからないです。
(それを配列と呼ぶかどうかはわかりませんが)nameとvalueが設定されたinputがform配下にあればformの送信時に送られるハズなんですけどね~。
それとも送信ではなく受け取り側(次のページ)に問題があるのでしょうか?(送信できたかどうかはformのmethodをgetにしておけば簡単に確認できますが)
とりあえずサンプルが動いたことで続きを自分で解決するなら質問を終了する、そうでなければ第三者がわかるような情報を捕捉するかしてくださいませ。
No.1
- 回答日時:
nameに[n]を付けた配列みたいな記述が配列として扱えるのはphpの勝手な拡張ですので、php以外では単なる文字列となります。
なので、javascriptで扱う場合はあくまで文字列にしてやる必要があります。
また、getElementsByNameというのは常に配列を返してくるので、それが必ず1つしか無いケースでは0番目にアクセスします。
以下、試してないけどサンプル。
function user_num() {
var i=1;
while(1){
var o= document.getElementsByName('user_no['+i+']')[0];
if(! o) break;
o.value = document.getElementById('users').options[i-1].value;
alert(o.value);
i++;
}
document.user_select.user_no = new Array(i);
}
最後のところ document.user_select.user_no には新しい配列を代入してるけど何に使ってるのかわからないのでとりあえずそのままにしてます。
この回答への補足
早速のご回答ありがとうございます。サンプルうまく動きました。
最終的には、配列(文字列)user_no[1]、user_no[2]をpostまたは、getで
次のページに渡してあげたく思っています。そのため、user_no[1]などを
hiddenフィールドで生成しているのですが、うまくいきません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP php ログイン 1 2022/11/01 00:24
- その他(プログラミング・Web制作) Pythonで会員サイトの自動ログイン ID Nameがない 1 2022/12/16 02:09
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript Json のキーと値の出力の違いについて 2 2022/06/14 20:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#テキストボックスの文字を配...
-
React hooksが値を返して配列変...
-
オブジェクトから任意のプロパ...
-
javascriptで2つのArrayの...
-
同じIDで定義した要素の配列を...
-
jspからjavascriptの変数引継ぎ
-
<a>タグのテキストを取得
-
codejump 模写コーディングgall...
-
google apps scriptの終了のさせ方
-
このjavascriptのif文、条件式...
-
html javascript リンク先アド...
-
関数でy=g(x)のgとは何の略です...
-
HTMLで作った時報アプリが動き...
-
デストラクタとregister_shutdown_
-
window.openでタイトル名の指定
-
javascriptとphpの連携で疑問
-
awk内でsystem関数を使用しfunc...
-
HTTPSのとき":"が"%3A"ではなく...
-
ActiveXobjectが作成できない
-
jQuery Easy Display Switch wi...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同じIDで定義した要素の配列を...
-
C#テキストボックスの文字を配...
-
jspからjavascriptの変数引継ぎ
-
配列の1要素を代入した変数を使...
-
React hooksが値を返して配列変...
-
javascript 変数名の連結をしたい
-
オブジェクトから任意のプロパ...
-
javascriptで行を抽出したいです。
-
undefinedを表示させない方法は...
-
1から20までの整数から、重複な...
-
空の配列に2次元配列の追加
-
二次元配列の全要素の全要素を...
-
JavaScriptにおける[] とか :...
-
順列生成アルゴリズムについて...
-
JSONデータを50音順でソートしたい
-
JavaScriptでの動的な多次元配...
-
多次元配列から最大値を1行また...
-
(google apps script)スプレ...
-
どのようにすれば・・・。
-
JavaScriptで簡単なクイズを作...
おすすめ情報