如果在轨道上的ruby中text_field为空,如何禁用提交按钮?

时间:2012-09-21 16:30:02

标签: javascript jquery ruby-on-rails

我是ROR的新手。我只想知道如果text_field为空,是否可以禁用提交标签按钮。

感谢

3 个答案:

答案 0 :(得分:13)

你可以用这样的jquery来做,

<强> Live Demo

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,您可能需要使用prop()而不是attr()来设置元素的disabled属性。

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

答案 1 :(得分:1)

通常情况下,它是通过验证完成的,因此按钮保持活动状态,但表单会出现验证错误并且无法保存。 在您的模型中,您将添加:

validates_presence_of :some_field, :some_other_field

如果你想要这样做,你可以用javascript来完成它。

答案 2 :(得分:0)

你可以使用jQuery

$(function(){

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

检查FIDDLE