人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

HTMLとjavascriptについて教えてください。というか、
ここを見れば載ってるよではなく、実際に書いてください。
ブラウザはIE6のみでよいです。デザインはシンプルでよいです。

1, テキスト入力をもつ簡単な<FORM>があります。
テキスト入力時、リターンキーを押してもsubmitされなくする記述を
教えてください。

2, 同様のフォームで、普通にクリックするとsubmitされるが、
ダブルクリックには反応しないボタンを作ってください。
意図としては、普通の<input type=submit>だと
うっかりダブルクリックしてしまうとリクエストが
多重に送信されてしまうようなので、これをなるべく防ぎたいです。
(完全に防げなくてよいです)

●質問者: tebukuro
●カテゴリ:ウェブ制作
✍キーワード:HTML IE6 JavaScript クリック シンプル
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● ito-yu
●0ポイント

<script type=”text/javascript”><!--

var sub=false;

//--></script>

<form action=”hoge.cgi” method=”post” onSubmit=”return sub;”>

<input type=”text” name=”a”>

<input type=”submit” value=”go” onClick=”this.disabled=true; sub=true; this.form.submit();”>

</form>


というのはどうでしょうか。IEでは大丈夫です。

ただし、FirefoxではEnterによるSubmitを防げません。

◎質問者からの返答

試してみました。

IE6@WinXPで、全く効果なしなんですが。。

次の方よろしくお願いします。


2 ● ito-yu
●19ポイント

本当に?

http://www.geocities.jp/ysk_ito_x/nosubmit.html

これでも?


え、まさかのJavascript OFF環境ですか?


なお、Windows XP+IE6 で確認済み。

◎質問者からの返答

もうちょっと確認してみました。

が一つなら、確かにsubmitされませんでした。ですが がもう一つあるんです。この場合リターンでsubmitされます。それからダブルクリックも効いてしまいます。もちろんJavascriptは有効になってます。


3 ● やちまう
●19ポイント

安直な案で申し訳ありませんが…単にFORMを2階建てにすれば良いだけでは?


<html>

<head>

<title>No Submit by EnterKey</title>


<script type=”text/javascript”><!--

function copyform() {

document.F2.text1.value=document.F1.text1.value;

document.F2.text2.value=document.F1.text2.value;

}

//--></script>


</head>


<body>


<!-- こちらは入力専用フォーム(Submitできません) -->

<form name=”F1” onSubmit=”return false;”>

<input type=”text” name=”text1”>

<input type=”text” name=”text2”>

<input type=”button” value=”送信” onClick=”copyform();this.disabled=true;document.F2.submit();”>

</form>


<!-- こちらが実際にSubmitするフォーム(念の為、二重に目隠し) -->

<div style=”visibility:hidden;”>

<form name=”F2” action=”http://www.google.com/webhp?” method=”get”>

<input type=”hidden” name=”text1”>

<input type=”hidden” name=”text2”>

</form>

</div>


</body>

</html>


↑実行後のアドレス欄を見れば引数が渡っていることが確認できます。

◎質問者からの返答

ありがとうございます。うまくいきそうです。

別のやりかたもあるかもしれませんのでもう少し受け付けておきます。もっとシンプルな記述があるとうれしいです。


4 ● iketerummo
●19ポイント

ito-yuさんのソースを少し変えますと

type=submitではなくbuttonです。


<input type=”button” value=”go” onClick=”this.disabled=true; sub=true; this.form.submit();”>

◎質問者からの返答

ありがとうございます。試してみます。


5 ● kamiochiai
●24ポイント

たんに送信ボタンに type=”submit” を使わなければOKです。


<input type=”button” value=”go” onclick=”this.disabled=true;this.form.submit();”>


これだけで1. 2. 両方解決します。

◎質問者からの返答

ありがとうございます。一番シンプルなのでこれでいこうと思います。


1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ