0

設計上の理由により、使用できません

<input type="submit" />

フォームを送信します。代わりに、コードは次のようになります。

<a onclick="form.submit()"></a>

フォームには、

required="required"

属性。残念ながら、HTML5 検証はこの方法では機能しません。ただし、通常の送信ボタンでは適切に機能します。

理由についてのアイデアはありますか?送信ボタンを使用せずに HTML5 検証をトリガーする方法はありますか?

リクエストに応じて編集:

<form name="form" method="post" action="https://pilot.datatrans.biz/upp/jsp/getCcAliasFormMod.jsp" id="form_payment_cc" name="uppform">
<label for"cvv">CVV</label><br />
<input type="text" size="4" id="cvv" name="cvv" value="" required="required" />
<p></p>
<div class="order">
    <div></div> <div><a href="#" onclick="javascript:$( '#form_payment_cc' ).submit();"><img src="/images/pfeil_orange.png" style="margin-left: 30px;"><strong>Weiter</strong></a></div>
    </div>
<input type="hidden" id="form__token" name="form[_token]" value="LaBK9OAZyhjENzWmCiCokS0kGXgFmbPNm7v1lo1LuRs" />
</form>
4

2 に答える 2

1

あなたが試すことができます<a onclick="if(form.checkValidity()) form.submit()"></a>

ただし、CSS を使用してカスタム デザインを適用し、ネイティブ ボタンを使用する方がよい場合もあります。

更新

ネイティブ検証をトリガーするには、通常のボタンが必要なようです。したがって、考えられる解決策は、非表示のボタンを使用し、JS を使用してクリックをトリガーすることです。

<form>
  <input name="email" type="email" title="Enter your email" required />
  <input id="sumbitBtn" type="submit" style="position: absolute; left: -9999px" /> 
  <a href="#" onclick="document.getElementById('sumbitBtn').click();">Submit</a>
</form>

通常のボタンを使用する CSS ベースのソリューション (JS は不要) については、このフィドルを確認してください

于 2014-04-16T06:52:05.750 に答える
0

一部のブラウザー (Chrome など) のネイティブ エラー メッセージを表示したい場合、残念ながら次のようにフォームを送信するしか方法はありません。

<form id="myform" action="" method="POST">
    <a href="#" id="mylink"> submit </a>
</form>

その後:

window.onload = function() {
    document.getElementById('mylink').onclick = function() {
        document.getElementById('myform').submit();
        return false;
    };
};
于 2014-04-16T06:56:28.150 に答える