フォームを送信したいのですが。しかし、私は種類を提出して入力ボタンを使用しての基本的な方法が、つもりはありませんリンクを。
下の画像はその理由を示しています。画像リンクを使用してフォームを保存/送信しています。画像リンクに標準のcssマークアップを使用しているため、入力送信ボタンを使用したくありません。
onClick = "document.formName.submit()"をa要素に適用しようとしましたが、htmlメソッドを使用します。
何か案は?
フォームを送信したいのですが。しかし、私は種類を提出して入力ボタンを使用しての基本的な方法が、つもりはありませんリンクを。
下の画像はその理由を示しています。画像リンクを使用してフォームを保存/送信しています。画像リンクに標準のcssマークアップを使用しているため、入力送信ボタンを使用したくありません。
onClick = "document.formName.submit()"をa要素に適用しようとしましたが、htmlメソッドを使用します。
何か案は?
回答:
二つの方法。ボタンを作成し、CSSを使用したリンクのようにスタイルを設定するか、リンクを作成してを使用しますonclick="this.closest('form').submit();return false;"
。
form.submit()
JavaScriptなしでは機能しないことに注意してください
input[type=submit].link { border: none; background: none; display: inline; color: blue; text-decoration: underline; }
、<input type=submit class="link" />
私の知る限りでは、なんらかの形のスクリプトがなければ、これを実際に行うことはできません。
<form id="my_form">
<!-- Your Form -->
<a href="javascript:{}" onclick="document.getElementById('my_form').submit(); return false;">submit</a>
</form>
ここからの例。
input type="submit"
このようなものをスタイリングするだけでうまくいきました:
.link-button {
background: none;
border: none;
color: #0066ff;
text-decoration: underline;
cursor: pointer;
}
<input type="submit" class="link-button" />
Chrome、IE 7-9、Firefoxでテスト済み
input
HTML要素にクラスをアタッチせずに、CSSセレクターを使用して適切な要素を選択する必要があります。
画像を使用して送信しているので、単にtype="image"
入力「ボタン」を使用できます。
<input type="image" src="yourimage.png" name="yourinputname" value="yourinputvalue" />
<button>
要素が含まれる<img/>
要素。
確かに、リンク付きのフォームを送信する純粋なHTMLのソリューションはありません(a
)タグを。標準HTMLはボタンまたは画像のみを受け入れます。他の共同編集者が言ったように、ボタンを使用してリンクの外観をシミュレートできますが、それは質問の目的ではないと思います。
私見、提案され承認されたソリューションは機能しないと思います。
フォームでテストしましたが、ブラウザがフォームへの参照を見つけられませんでした。
したがってthis
、送信する必要があるフォームの子ノードであるクリックされる要素を参照するオブジェクトを使用して、JavaScriptの1行を使用してそれを解決することが可能です。だから、this.parentNode
フォームのノードがあります。呼び出した後submit()
、そのフォームのメソッドをです。正しいフォームを見つけるために、ドキュメント全体を調査する必要はありません。
<form action="http://www.greatsolutions.com.br/indexint.htm"
method="get">
<h3> Enter your name</h3>
First Name <input type="text" name="fname" size="30"><br>
Last Name <input type="text" name="lname" size="30"><br>
<a href="#" onclick="this.parentNode.submit();"> Submit here</a>
</form>
自分の名前で入力するとします。
get
送信後に読み込まれたページのURLで正しいパラメータを確認できるため、フォームメソッド属性で使用しました。
http://www.greatsolutions.com.br/indexint.htm?fname=Paulo&lname=Buchsbaum
このソリューションは明らかに、 onclick
イベントまたは同様のイベント。
this
と一緒にコンテキストを回復するための優れた選択肢です event
直接使用するか、関数の引数として渡すことができる変数(すべての主要なブラウザーとIE9以降で利用可能)です。
この場合、イベントを開始した要素を示すa
propertyを使用して、次の行でタグで行を置き換えtarget
ます。
<a href="#" onclick="event.target.parentNode.submit();"> Submit here</a>
Stackoverflow
。あなたの修正が私のスタイルを改善するのに役立つことを願っています。私の英語も上手ではありません。