3

こんにちは、タグを使用してフォームを送信する方法を知りたいです。

<a href="javascript:void()" onclick="document.getElementById('myform').submit();"></a>

しかし、フォームでJavaScriptの検証を試みると、たとえば

 <form method="post" onsubmit="valid() name="myform" action="index.php">

有効な機能が機能しないため、機能を機能させる方法はありますか。タグだけを onsubmit として使いたいです。

検証を確認するために単純なアラート機能を使用しましたが、機能しませんでしたが、入力タイプの送信タグを使用して確認すると、機能し始めました。

4

4 に答える 4

2

関数onclick()は ID のフォームを探していますmyform。サンプル コードでは、フォームに ID または名前がありません。

このコードは動作するはずです:

<a href="javascript:void()" onclick="document.getElementById('myform').submit();"></a>

フォーム要素に ID を含める限り:

<form method="post" onsubmit="valid()" name="myform" id="myform">

于 2013-05-01T20:55:11.287 に答える
0

歴史的に、JavaScript メソッドによるフォーム送信は、イベント ハンドラーsubmit()を呼び出しませんsubmit(ほとんどの場合、無限再帰を防ぐため)。

属性内に含まれるコードを呼び出したい場合はonsubmit、フォームをプログラムで送信する前に明示的に呼び出す必要があります。例えば:

var form = document.querySelector('form'),
    link = document.querySelector('a');

link.onclick = function() {
    alert('Handler attached with JS.');
    form.onsubmit.call(form);
    form.submit();
    return false;
};
于 2013-05-01T21:14:17.923 に答える