- PR -

javascriptでhiddenタグを動的に作成。

1
投稿者投稿内容
ゆう
常連さん
会議室デビュー日: 2001/12/10
投稿数: 33
投稿日時: 2004-02-25 22:30
こんにちわ。いつもお世話になっております。

javascriptに関する質問です。

押されたリンク/ボタンによって送信するデータを動的に変えるため、
javascriptでhiddenタグを作成したいと思います。
以下のように記述したのですが、正しく作成されていないようでエラーになります。
どなたか同様のことを考えた方がおられましたらご教授願います。

<html>

<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META http-equiv="Content-Script-Type" content="text/javascript">
<TITLE>sample</TITLE>

<SCRIPT type="text/javascript">
<!--
function submitForms(formObj, buttonNm) {

var newEle = document.createElement("INPUT");
newEle.value=buttonNm;
newEle.type="hidden";
newEle.name="button";

formObj.appendChild(newEle);
alert(formObj.button.value);

formObj.method="POST";
formObj.submit();
}
//>
</SCRIPT>
</HEAD>

<BODY>
<form name="sample" action="#">
<a href="javascript:void(0)" onclick="submitForms(document.sample,'exe');return false;">実行</a>
<a href="javascript:void(0)" onclick="submitForms(document.sample,'exe2');return false;">実行2</a>
</form>
</BODY>

</html>
ゆう
ベテラン
会議室デビュー日: 2003/06/20
投稿数: 56
投稿日時: 2004-02-26 08:02
こんにちわ。お世話になってます。
#同じニックネームですね

同じような事をしているソースを見たことがあります。
ゆうさんはタグを動的に作成されているようですが、
そのソースではhiddenのタグは静的に準備しておき、そのvalueを
動的に変えるという方法でした。

form中にhidden属性のタグを作っておき
submitFormsでhidden属性タグのvalueを設定。その後、submitといった感じです。

ではでは

#日本語が変だったので編集


[ メッセージ編集済み 編集者: ゆう 編集日時 2004-02-26 08:09 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-02-26 08:59
引用:

ゆうさんの書き込み (2004-02-25 22:30) より:

formObj.method="POST";
formObj.submit();
}
//>
</SCRIPT>


たんなる転写ミスとは思いますが、 //--> では?

 また、「エラーになります」ではなく、「**というエラーになります。(エラーメッセージのコピー)」のようにしてください。これだけ見ると、「コメントが閉じていないからエラー何じゃない?」と思ってしまいます。
ほむら
ぬし
会議室デビュー日: 2003/02/28
投稿数: 583
お住まい・勤務地: 東京都
投稿日時: 2004-02-26 14:43
ほむらです。
典型的なマルチポスト症状になっていますね。。。
こういった書き込みが多いからマルチポストは嫌われるわけで。。。。

マルチポストを批判するつもりはありませんがそれに伴う
質問した側の手間も惜しんでほしくないなと思う今日この頃です。

ちなみにこちらで、解決したようです。
http://bbs8.otd.co.jp/javascript/bbs_tree?base=10188&range=1

あまり根本解決にはなっていない気もしますけど。。。。
name属性 → id属性へ変更
document.getElementById()の使用
ということみたいです。

#新規投稿の後、特に書き込みがないので突っ込んでみました。
1

スキルアップ/キャリアアップ(JOB@IT)