formのtextエリアに値を入力し、その隣に配置したボタンでその値を利用した
関数を実行することはできます。しかし、誤ってtextエリアでエンターを押してしまうと、
入力値が消えて何かが実行されているようですが、何も起きません。
参考書などを見て、onchangeかonBlurでも使えばよいのかと思い試してみましたが、だめです。
textエリアでクリックすることで、その値を利用した関数を実行できる=隣のボタンを
クリックすることと同様の動作を実現するにはどうしたらよいのでしょうか。
《サンプル》
<input type = "text" name="text">
<button onClick ="xxxx()"> 実行 </button>
※上のtextのvalueを元に実行するのが下のボタンの"xxxx()"
No.3ベストアンサー
- 回答日時:
>CGIの部分がわかりません。
このまま記述したら、xxxx.cgiへのリンクと見なされて、404エラーが出ます。ですね。formのaction属性は「submitされた時に飛ぶ場所」を書くので、飛ぼうとした先が無ければ404エラーです。
>xxxx.cgiを作る必要があるということですね?でも私にはそこが分かりません。CGIは全く勉強していませんので。
うむ~、本当は「仕様の上ではaction属性が無いformタグは挙動が保証されない」のだけど、たいていのブラウザは「保証は無いけどそれなりに動いちゃう」ので、次のように直せば動くかな?
<form onSubmit="return xxxx()">
<input type="text" name="text>
<input type="submit" value="実行">
<form>
繰り返すけど「たいていは動くだろうけど、全てのブラウザでうまく行く保証はない」ので注意。
再びの回答、ありがとうございました。
思ったとおりの動作が実現しました。ただ、言われるような「問題点」があることはきちんと覚えておきます。
大変助かりました。
No.2
- 回答日時:
typeにtextを指定したinputでEnterキーを押すと、inputタグの外側にあるformタグのaction属性で指定したアクションが実行されます。
つまり<input type=submit value="OK">のボタンを押したのと同じ動作になります。
で、もし、formタグにaction属性が無い場合(action属性は「必須属性」なので、無いのは許されないんだけど)は「テキストエリアでEnterを押すと何も起きないで、入力値が消える」と言う事になります。
以下のように修正しましょう。
<form method="post" action="xxxx.cgi"><!-- xxxx.cgiはxxxx()関数を呼ぶCGI -->
<input type="text" name="text><!-- Enterを押すとxxxx.cgiが呼ばれる -->
<input type="submit" value="実行"><!-- クリックするとxxxx.cgiが呼ばれる。<button onclick="xxxx()">実行</button>の代わり -->
<form>
回答ありがとうございます。
CGIの部分がわかりません。このまま記述したら、xxxx.cgiへのリンクと見なされて、404エラーが出ます。
xxxx.cgiを作る必要があるということですね?でも私にはそこが分かりません。CGIは全く勉強していませんので。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- JavaScript Javascriptを使ってQRコード読み取り、取得した情報をPOSTしたいと思っています。 1 2023/04/28 15:18
- Visual Basic(VBA) visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ 1 2023/02/08 00:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
formで特定のinputを送信しない...
-
子windowsからsubmit()後にclos...
-
JSONで文字列が長い時
-
Application.ScreenUpdating = ...
-
16進の10進変換について
-
文字の横にプルダウンを表示さ...
-
回数を指定しないで空白行まで...
-
問題作成のWebアプリの作り方を...
-
ACCESS テキストボックスを隙...
-
pythonで演算子を変数に代入す...
-
FindFirst を複数条件で検索
-
【至急!!!】python言語で本を見...
-
<SELECT>タグの折り返し
-
構造体の各データの表示につい...
-
【C#】数値の範囲チェックについて
-
C言語のflagの使い方が分かりま...
-
VBAでPDFのコピーとリネームを...
-
Use of uninitialized value ---
-
C言語について
-
メモリをアドレスを直接指定し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
formで特定のinputを送信しない...
-
子windowsからsubmit()後にclos...
-
ホームページビルダーのメール...
-
javascriptでCGIを実行するには
-
if文を入れるとcgiが動きません...
-
テキスト入力後、エンターを押...
-
javaで取得可能な環境変数の値...
-
メール送信フォームつきのポッ...
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
どちのほうがすきですか?
-
Pythonでターミナルに文字を出...
-
16進の10進変換について
-
セレクトメニューで2つの項目...
-
実行時エラー 3020の対策
-
文字の横にプルダウンを表示さ...
-
FindFirst を複数条件で検索
-
パイソンのクラスについて
-
<SELECT>タグの折り返し
-
「*:*」って何を意味するのでし...
おすすめ情報