次の入力があります。
<input type="submit" name="next" value="Next">
jQueryでこのアイテムをクリックできないようにするにはどうすればよいですか? (つまり、特定の検証基準が満たされた後にのみクリックできます) ?
この質問のフォローアップは次のとおりです。検証が満たされた後に送信をクリック可能にする
次の入力があります。
<input type="submit" name="next" value="Next">
jQueryでこのアイテムをクリックできないようにするにはどうすればよいですか? (つまり、特定の検証基準が満たされた後にのみクリックできます) ?
この質問のフォローアップは次のとおりです。検証が満たされた後に送信をクリック可能にする
2 デモデモ 1 ここをクリック: または デモ 2 ここをクリック:
したがって、必要なのは、検証が正しく行われたかどうかを確認することだけです。
つまりif (notValid)
、以下のコードをチャックすると、ボタンが無効になります。またはnext
、無効化されたボタンから始めることをお勧めします。
有効にするには、プロパティをfalseに設定できます。良いアイデアが得られると確信しています。それ以外の場合は、さらにコードを提供してください。今後ともよろしくお願いいたします。B-)
お役に立てれば!
$("#submit").prop('disabled', true);
また
$("input[type='submit']").prop('disabled', true);
$('input[name="next"]').prop('disabled', true);
あなたが使用することができます:
$("input[type=submit][name='next']").attr("disabled", "disabled"); // unclickable
$("input[type=submit][name='next']").removeAttr("disabled"); // clickable
入力要素を無効にしても、クリック イベントやブラウザー間でのさらなる伝播を一貫して防止できるわけではありません。
とにかく、検証が失敗した場合は単純に戻るのが適切false
であり、アクション (つまり、フォームの送信) は実行されません。これにより、フォームが送信されなくなります。クリック ハンドラーは引き続き実行されるため、送信が失敗した理由に関する詳細をユーザーに提供できます。
$("#submit").click(function(){
var isValid = true;
/*perform validation checks, changing isValid value to false when needed*/
return isValid; //will return false if validation fails etc.
});