

HTMLのフォームタグについての質問です。  
formタグはユーザーが入力した情報をサーバーに送信する目的で使うのが普通だと思うのですが、入力データをサーバーに送信しない場合はformタグで囲うのはNGですか？例えば、OKボタンを押すと入力データをJavaScriptで加工して画面に表示するだけのフロントエンドで完結するプログラムなどです。


CC BY-SA 3.0
2017-01-07T20:23:42.617
31698
2017-01-13T09:27:45.100
20138
question
javascript html
サーバーに何も送信しないのにformタグで囲っても良いか


onsubmit イベントで`return false;` しておけば送信を中止できるのでＯＫです。

例えば単純には  
`onsubmit="return false"`をformタグに以下の様に追加しておけばいいかと思います。

[code]

    <form id="form_id" method="" action="" onsubmit="return false" >
    諸々のフォーム
    </form>
    
[/code]

submitをしてしまうようなボタンを利用している場合も、  
onsubmitイベントハンドラ関数で`return false;` しておけば良いです。


CC BY-SA 3.0
2017-01-07T20:44:38.677
31699
2017-01-07T20:44:38.677
5044
31698
answer


W3cの文書より  
<https://www.w3.org/TR/html5/forms.html#introduction-1>  
又は  
<https://www.w3.org/TR/html51/sec-forms.html#forms-introduction>

> No client-side scripting is needed in many cases, though an API is available
> so that scripts can augment the user experience or use forms for purposes
> other than submitting data to a server.

殆どの場合は必要ないが、サーバへ送信する目的以外にもフォームを利用出来るようにしてある(意訳)とされています

つまりサーバーへ送信しない目的でのフォーム利用は、  
「積極的に推奨はしていないけど使用することは問題ない」という扱いだと思われます。


CC BY-SA 3.0
2017-01-13T09:21:27.023
31818
2017-01-13T09:27:45.100
2017-01-13T09:27:45.100
19995
19995
31698
answer