- - PR -
form acition の切り替え
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-07-18 10:55
動的に飛び先のURLを変更したい要件があり、javascriptでaction の書き換えをおこ
なって変更しいています。 IE6ではOKなのですが、mozilla 1.5.0.12 ではコケてしまいます。 // ブラウザで送信されたHTMLのformの内容 <form name="LinkinsertappName.do" action="insertappName.do" method="post" onSubmit="buttonOff(); return true;"> <input type="hidden" name="SENDACTION"/> <input type="hidden" name="sessionId" value="x2aa2yHd+D5m7GcPzE7We0"/> <input type="submit" name="btnNew" onClick="SENDACTION.name='action_New'" value="登録画面へ"/> </form> // 実行されるjavascript document.forms[fnm].name = "action_Update:" + pkeyname + ":" + ret; document.forms[fnm].action = "update" + idl + ".do"; // ここでコケル document.forms[fnm].elements['SENDACTION'].name = "action_Update:" + pkeyname + ":" + ret; document.forms[fnm].elements[pkeyname].value = ret; mozillaのfirebugでみると document.forms[fnm] has no properties となっています。 これはなにかやり方がまずいのか、または根本的にサポートされないのでしょうか? なにか回避策はないでしょうか? ターゲットの環境は特定されていないのですが、今テスト実行しているのは XP Pro SP2です。 | ||||
|
投稿日時: 2007-07-18 11:13
もう少し、プログラムの意味を考えながらコーディングする癖をつけるといいかもしれません。 | ||||
|
投稿日時: 2007-07-18 11:44
ありがとうございます。
var uform = document.forms[fnm]; uform.action = "update" + idl + ".do"; uform.elements['SENDACTION'].name = "action_Update:" + pkeyname + ":" + ret; uform.elements[pkeyname].value = ret; uform.name = "action_Update:" + pkeyname + ":" + ret; として、うまくいきました。 |
1