web-dev-qa-db-ja.com

送信ボタンが機能しない

<input type="submit"のフォームがあります。 In chrome submitは何もしません。開発者ツールの[ネットワーク]タブには何も表示されません。開発者ツールにもエラーはありません。一方、ページを保存して保存されたページ、送信ボタンを押すと、「ネットワーク」タブに何かが表示されます。これはchromeおよびfirefoxで発生します。これはIEで正常に機能します。

誰かが後知恵を持っていますか、私は何を見るべきですか?

編集:私は直接答える必要はありません、私はどこを見るべきかを知る必要があるだけです。誰かが指示を投稿し、それが私の問題の解決に役立つ場合、私はそれを正しい答えとして受け入れます。

EDIT2:ページの構造は次のようになります。

html
    head
    body
        div
        div
            form
            form
            form
            form
            form
                input
                input
                table
                table
                    tbody
                        tr..td..input type=submit

EDIT3:実際の問題を発見しました。それはページ内にhref="#"を含むリンクがあり、そのリンクをクリックした後、#がURLの最後に追加され、フォームのactionは空だったため、#を含む現在のURIからURIを取得したため、送信する代わりに、ブラウザーは現在のページにジャンプしました。

12
dhblah

フォームの検証にjavascript/jqueryを使用していない場合、フォームの単純なレイアウトは次のようになります。

htmlドキュメントの本文内:

<form action="formHandler.php" name="yourForm" id="theForm" method="post">    
    <input type="text" name="fname" id="fname" />    
    <input type="submit" value="submit"/>
</form>

フォームタグ内に送信ボタンがあり、適切なアクションが割り当てられていることを確認する必要があります。 phpファイルへの送信など。

より直接的な回答を得るには、作業しているコードを提供してください。

以下の使用方法があります。 http://www.w3.org/TR/html401/interact/forms.html

13
lukeocom

HTML5を使用していますか?その場合、フォームにrequiredプロパティを持つ<input type="hidden">があるかどうかを確認します。 requiredプロパティを削除します。 Internet Explorerはこのプロパティを取得しないため、動作しますが、Chromeが動作します。

15
Jyothu

ページで何らかのjquery/javascript検証を使用しているかどうかを確認し、無効にしてみて何が起こるかを確認します。ブラウザーの開発者ツールを使用して、検証または検証付きのJavaScriptファイルがロードされているかどうかを確認できます。また、非表示のフォーム要素(つまり、display:noneに設定されたスタイル、またはそのようなもの)を探して、レンダリングされていない要素に非表示の検証エラーがないことを確認できます。

4
Dan Csharpster

今日、この問題に直面しましたが、問題はドキュメントonclickでイベントのデフォルトアクションを妨げていたことです:

document.onclick = function(e) {
    e.preventDefault();
}

通常、ドキュメントonclickはイベントの委任に使用されますが、すべてのイベントのデフォルトを防ぐのは間違っています。必要な要素に対してのみ行う必要があります。

document.onclick = function(e) {
    if (e.target instanceof HTMLAnchorElement) e.preventDefault();
}
3
Ali

私は友人のHTMLコードでこれに遭遇しました、そして、彼の場合、彼は引用を逃していました。

例えば:

<form action="formHandler.php" name="yourForm" id="theForm" method="post">    
<input type="text" name="fname" id="fname" style="width:90;font-size:10>     
<input type="submit" value="submit"/>
</form>

この例では、入力テキストfnameに引用符がないと、送信ボタンが使用できなくなり、フォームは送信されません。

もちろん、これは最初の場所でCSSを使用する必要があるため、悪い例です;)とにかく、すべての単一引用符と二重引用符をチェックして、それらが適切に閉じていることを確認します。

また、centerなどのタグがある場合は、それらをフォームから移動します。

<form action="formHandler.php" name="yourForm" id="theForm" method="post">  
<center> <-- bad

奇妙に思えるかもしれませんが、影響を与える可能性があります。

1
Adron

未来からこんにちは。

わかりやすくするために、追加したいだけです(これはGoogleでかなり高かったため)。

<button type="submit">Upload Stuff</button>

そして、フォームをリセットするには

<button type="reset" value="Reset">Reset</button>

チェックアウトボタン タイプ

this のようなフォームを送信するボタンを添付することもできます。

<button type="submit" form="myform" value="Submit">Submit</button>

0
MattJHoughton