<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を探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptでASPにデータを渡す
-
enterキーでのtab移動
-
onclickでリストボックスを複数...
-
focus()が上手くいかない
-
POST時に要素を削除してからPOST
-
FormのonsubmitでJavaスクリプ...
-
ページを再読み込み後、再読み...
-
複数のフォームを一括で自動送...
-
1つのformで複数のactionをボタ...
-
タブキーでなくエンターキーで...
-
1つのform内に2つのsubmitボタ...
-
Cookieに保存されない
-
指定したタグを書き換えるには?
-
javascriptで取得した値をテキ...
-
どうしてもうまく動作しません!!
-
return trueとreturn falseの用...
-
プルダウン 項目が多いので先頭...
-
submitボタン押下時にPOSTされ...
-
onchangeイベントを強制的に発...
-
大文字か小文字かを判断する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
submitした値を返したい
-
複数のフォームを一括で自動送...
-
iframe内のformをサブミットす...
-
別ウィンドウへのsubmitの挙動...
-
1つのページにformを2つ設置。2...
-
フォームが空欄の時にフォーム...
-
javascriptでASPにデータを渡す
-
Cookieに保存されない
-
POST時に要素を削除してからPOST
-
focus()が上手くいかない
-
submitボタン押下後、disabled...
-
1つのform内に2つのsubmitボタ...
-
FormのonsubmitでJavaスクリプ...
-
テキストエリアに入力したURLに...
-
C# 配列などの受け渡し
-
タブキーでなくエンターキーで...
-
ENTERキーを無効にしたいのです...
-
formのsubmitイベントの発生に...
-
別窓ウィンドウから親ウィンド...
-
1つのformで複数のactionをボタ...
おすすめ情報