<FORM METHOD="post" ACTION="tbl_admin.html">
<A HREF="#" onClick="fnc.value='abc'; this.form.submit();">リンク文字</A><BR><BR>
<INPUT TYPE="hidden" NAME="fnc" VALUE="">
<INPUT TYPE="submit" VALUE="aaa">
</FORM>
と書いてみたのですが
エラー:'this.form' は Null またはオブジェクトではありません。
としまいました。
<SELECT>のonChangeで同じような事は出来たのですが、
単なるリンク文字クリックでこのようなことはできないのでしょうか。
可否をご存知の方、また実現方法等ご存知の方
いらっしゃいましたらご教示願います。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
#1さんの補足ですが、アンカー(a)要素はformの中に入れても
従属関係にはないので上位のformにアクセスすることはできません。
#1さんの解説ではformにformという名前をつけていますが、
場合によっては名前の競合が発生するのでなるべくタグ名と
同じ名前を使わない方がよいでしょう。
また、allでアクセスするのはあまりお勧めできませんので、
やるならdocument.forms[フォーム名]もしくはdocument.フォーム名
でやるか、nameではなくidをつかってdocument.getElementById(id名)
でやるとよいでしょう。
<FORM METHOD="post" ACTION="tbl_admin.html" name="form1">
<A HREF="#" onClick="f=document.form1;f.fnc.value='abc'; f.submit();">リンク文字</A><BR><BR>
<INPUT TYPE="hidden" NAME="fnc" VALUE="">
<INPUT TYPE="submit" VALUE="aaa">
</FORM>
この回答への補足
なるほど、アンカーはFORMとの従属関係がないから
フォームを動かすには外からの場合と同様に
明示的に示さなくてはならないのですね。
勉強になりました。
No.1
- 回答日時:
エラーの内容からすると「エラー:'this.form' は Null またはオブジェクトではありません。
」ですから、formオブジェクトがちゃんと認識できていないみたいです。
そこで二つ対処をしました。
1)formにnameを付けてdocument.all(フォーム名)でオブジェクトを特定した。
2)<a></a>タグのonclickからなにも返却しないと、hrefパラメータの箇所へ遷移するので、
onclickイベントの戻り値をfalseにした。
サンプルとしては以下です。
------------- LinkSubmit.html -----------------
<html>
<head>
<title>リンクサブミットHTML</title>
<script language=javascript>
</script>
</head>
<body>
<form name=form method="POST" action="./event.html">
<!--<a href='' onclick="fnc.value='abc'; this.form.submit();">リンク文字</a><br><br>-->
<a href='#' onclick="document.all('form').fnc.value='abc'; document.all('form').submit();return false;">リンク文字</a><br><br>
<input type="hidden" name="fnc" value="">
<input type="submit" value="aaa">
</form>
</body>
</html>
≪質問は受付中のままにしないで必ず締め切りましょう≫
この回答への補足
FORMに名前をつけてフォーム名から指定したら思うように動きました。
いつもフォームの外から弄る時はフォーム名をつけて、
フォーム内でしか弄らないときはフォーム名をつけていなかったもので。。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスに任意のURLを...
-
JavascriptからSubmitして画面...
-
javascriptで .jpg , .jpeg , ....
-
添付ファイルの未選択チェック方法
-
FormのonsubmitでJavaスクリプ...
-
複数のフォームを一括で自動送...
-
指定したタグを書き換えるには?
-
iframe内のformをサブミットす...
-
onchangeイベントを強制的に発...
-
特定<table>内の<td>の色を変える
-
プルダウン 項目が多いので先頭...
-
チェックボックス付きのテーブ...
-
プルダウン選択を変更すると、...
-
COBOLで作ったテキストファイル...
-
画面表示とともにtableの指定の...
-
複数のsubmitボタンで押された...
-
return trueとreturn falseの用...
-
テキストボックスの値同士を比...
-
JavaScriptで特定csvファイルを...
-
ラジオボタンのチェックが外れ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptでASPにデータを渡す
-
iframe内のformをサブミットす...
-
submitした値を返したい
-
JavascriptからSubmitして画面...
-
別ウィンドウへのsubmitの挙動...
-
FormのonsubmitでJavaスクリプ...
-
リンク先アドレスの一部にテキ...
-
POST時に要素を削除してからPOST
-
this.formがundefined
-
1つのページにformを2つ設置。2...
-
指定したタグを書き換えるには?
-
タブキーでなくエンターキーで...
-
添付ファイルの未選択チェック方法
-
同意チェックボックスはひとつ...
-
1つのformで複数のactionをボタ...
-
C# 配列などの受け渡し
-
suggest.jsに関する質問
-
「利用規約の同意」複数のチェ...
-
ファイル選択と同時にアップロ...
-
Chromeで複数submit
おすすめ情報