7 に答える
醜いですが、非表示のフォーム フィールドを使用します。
<input type="hidden" id="clickedname" name="" value="" />
と
<a class="button" name="cancel" href="javascript:" onclick="$('#clickedname').value = this.name; $('#frmCompose').submit();">Cancel</a>
^^^^^^^^^^^^^^^^^^^^^^^^^
名前/値の割り当てを適切に調整します。画像入力がどのように送信されるかを正確に思い出すことはできません。
たとえば、送信用の非表示フィールドに値を入力して送信するには、JS を使用する必要があります。
onclick
属性値を置き換える小さなユーティリティ関数を作成することをお勧めします。さらに良いことに、DOM の準備が整った後に機能を追加し、目立たないようにしてローカライズしてください。
<a class="button" href="#" onclick="submit('cancel')">Cancel</a>
そしてsubmit
、あなたが期待することを行い、隠しフィールドに入力し、フォームを送信します。バックエンドをまったく変更できない場合は、非表示フィールドの名前も変更できますが、うーん; 「アクション」フィールドをチェックするようにバックエンドを変更するか、何かがきれいになったようです。
name="cancel" を追加してもうまくいかない場合は、JavaScript を少し工夫する必要があるようです。何かのようなもの:
<input type="hidden" name="placeholder" value="true" />
<a class="button" name="cancel" href="javascript:" onclick="$(this).prev().attr('name', 'cancel'); $('#frmCompose').submit();">Cancel</a>
フォーム要素 ( <input>
、<button>
、<textarea>
、<select>
など) のみがフォームに値を送信します。タグでこれを行うには、<a>
JavaScript を使用して値をフォームに追加する必要があります。
1 つの方法は、非表示のフォーム要素を追加し、その名前/値を設定することです。
<a class="button" name="cancel" href="#">Cancel</a>
<input type="hidden" id="buttonClicked" />
次に JavaScript (jQuery) を使用します。
$(function(){
$('a.button').click(function(e){
e.preventDefault();
$('#buttonClicked').prop({
name: $(this).prop('name'),
value: $(this).prop('name')
});
$('#frmCompose').submit();
});
});
フォームに単一の非表示フィールドを追加できます
<input type="hidden" id="action" value=""/>
次に、onclickでアクションの値を設定します
$("#action").attr("name","---ActionHere---");
したがって、キャンセルは次のようになります。
<a class="button" href="javascript:" onclick='$("#action").attr("name","cancel");$("#frmCompose").submit();'>Cancel</a>
そして送信は次のようになります。
<a class="button" href="javascript:" onclick='$("#action").attr("name","send");$("#frmCompose").submit();'>Send</a>
お役に立てれば
使う必要がないのではない<a>
でしょうか?
html:
<button class="alike">Test</button>
<a href="#">Test</a>
CSS:
button.alike,a {
border: 0px;
text-decoration: underline;
color: #00E;
width: auto;
cursor: pointer;
background-color: inherit;
font-family: 'Times New Roman';
font-size: 16px;
}
<input type="hidden" />
次のように、必要な名前でを作成するのが最も簡単な方法だと思います。
<input type="hidden" name="cancel" />
<a class="button" href="javascript:" onclick="$('#frmCompose').submit();">Cancel</a>