4

私はRORを初めて使用します。text_fieldが空の場合、タグの送信ボタンを無効にすることは可能ですか?

ありがとう

4

3 に答える 3

14

このようにjqueryでそれを行うことができます、

ライブデモ

if($('#text_field').val() ==  "") 
   $('#submitButtonId').attr('disabled', true);

$('#text_field').keyup(function(){
    if($('#text_field').val() !=  "") 
         $('#submitButtonId').attr('disabled', false);    
    else
         $('#submitButtonId').attr('disabled', true);   
});

jQueryの最新バージョンでは、attr()の代わりにprop()を使用して、要素のdisabledプロパティを設定する必要がある場合があります。

if($('#text_field').val() ==  "") 
   $('#submitButtonId').prop('disabled', true);
于 2012-09-21T16:32:32.457 に答える
1

通常、これは検証を通じて行われるため、ボタンはアクティブなままですが、フォームは検証エラーを受け取り、保存されません。モデルに次を追加します。

validates_presence_of :some_field, :some_other_field

とにかくそれをやりたいのなら、あなたはそれを達成するためにjavascriptを使うでしょう。

于 2012-09-21T16:33:24.320 に答える
0

そのためにjQueryを使用できます

$(function(){

     var val = $('#text_field').val();
     if(val == ''){
        $('input[type=submit]').attr('disabled', true)
     }
});

FIDDLEを確認してください

于 2012-09-21T16:32:45.837 に答える