こんにちは、送信ボタンとして「a」タグを取得しようとしています。ウェブのどこかにコードを見つけました。しかし、うまくいきませんでした。
<a href="#" onclick="this.form.submit()">Submit</a>
私のニーズを達成するためのコードはありますか?
form
にid
を付けてから、次のようにします。
document.getElementById("yourFormId").submit();
ベストプラクティスは、おそらくリンクにもid
を指定し、イベントハンドラーを削除することです。
document.getElementById("yourLinkId").onclick = function() {
document.getElementById("yourFormId").submit();
}
このコードを試してください:
<form id="myform">
<!-- form elements -->
<a href="#" onclick="document.getElementById('myform').submit()">Submit</a>
</form>
ただし、JavaScriptが無効になっているユーザーはフォームを送信できないため、次のコードを追加できます。
<noscript>
<input type="submit" value="Submit form!" />
</noscript>
フォームができる直接の親であると仮定します:
<a href='#' onclick='this.parentNode.submit(); return false;'>submit</a>
そうでない場合は、次のようなフォーム名属性を使用してアクセスできます。
<a href='#' onclick='document.forms["myform"].submit(); return false;'>submit</a>
両方の例を参照してください: http://jsfiddle.net/WEZDC/1/
以下のようなものを試してください
<a href="#" onclick="this.forms['formName'].submit()">Submit</a>
これは@ComFreek ansの改良です:
<form id="myform">
<!-- form elements -->
<a href="javascript:;" onclick="document.getElementById('myform').submit()">Submit</a>
</form>
したがって、アクションはトリガーされず、ページがリロードされません。特に、SPAを使用したフレームワークで開発している場合。