ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript フォームで「送信は関数ではありません」というエラーが表示されるのはなぜですか?

JavaScript フォームで「送信は関数ではありません」というエラーが表示されるのはなぜですか?

Linda Hamilton
リリース: 2024-12-06 19:02:15
オリジナル
428 人が閲覧しました

Why Am I Getting a

JavaScript での「送信は関数ではありません」エラー

JavaScript を使用してフォームを送信しようとすると、「」というエラーが発生する場合があります。送信は機能ではありません。」このエラーは、フォーム要素と組み込みの submit() メソッドの間の名前の競合を示します。

提供されたコードには、「submit_value」という名前の入力フィールドを持つフォームが含まれています。この要素には、submitAction() 関数を呼び出してフォームを送信するイベント リスナーがあります。ただし、「submit」という名前の要素がフォーム内にすでに存在しているためにエラーが発生します。

要素に「submit」という名前を付けると、フォームの submit() 関数がオーバーライドされます。この問題を解決するには、入力フィールドの名前を変更して、名前の競合を回避します。

<input onclick="submitAction()">
ログイン後にコピー

または、次のアプローチを使用できます。

<script type="text/javascript">
  function submitAction() {
    document.forms["frmProduct"].submit();
  }
</script>
ログイン後にコピー

このコードは document.forms[] を使用します。コレクションを使用して、その名前でフォームに明示的にアクセスし、submit() メソッドを呼び出します。どちらのメソッドも、名前の衝突を回避することで、「送信は関数ではありません」エラーを効果的に解決します。

以上がJavaScript フォームで「送信は関数ではありません」というエラーが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート