启用提交按钮之前的一组操作

时间:2014-06-03 08:46:01

标签: javascript jquery

我希望我的表单在启用提交按钮之前满足一组标准,我的表单按此顺序排列:

  1. 文字字段,值必须超过150
  2. 无线电选择集,必须选择1
  3. TOS框,必须检查
  4. 到目前为止,我有这个:

    if ((parseInt($('#amount').val(), 10) > 149) && $('input:radio[name="radioset1"]').is(':checked') && ($('input.checkbox_check').is(':checked')))
    { 
    
    // Enable Button here
    
     }
    

    我是否必须将此添加到我检查的所有内容中,例如文本字段上的键盘,更改select和复选框,并在变量中设置true,这些字段为" OK"或者我该怎么做?

6 个答案:

答案 0 :(得分:0)

您需要创建一个自定义验证功能,您必须在更改文本字段时运行该功能,并单击您的收音机和复选框单击事件。 以下psudo代码可能对您有帮助。

var textFieldValidationPassed = false;

function validateFormFields() {
  //First checks if text field length is not less then 150.
  // then check if one of the radio button is selected.
  // then check for TOS box checked state;
  if (textFieldValidationPassed && $('input:radio[name="radioset1"]').is(':checked') && ($('input.checkbox_check').is(':checked')))
    // enable submit button;
   }
}
$('input:radio[name="radioset1"]', 'input.checkbox_check').click(function() {
  validateFormFields();  
})
$('#amount').keyup(function(){
  if($(this).val().length > 149) {
    textFieldValidationPassed =true;
    validateFormFields(); 
  }
})

答案 1 :(得分:0)

这是一种解决方法,但可以使用,最初制作提交按钮......

$(":submit").on('focus',Validate);



function Validate(){
    if ((parseInt($('#amount').val(), 10) > 149) && $('input:radio[name="radioset1"]').is(':checked') && ($('input.checkbox_check').is(':checked')))
    { 

    // Enable Button here

     }
    else
    {
        //Disable button
    } 
}

答案 2 :(得分:0)

您可以像这样添加点击,一次更改事件

$("input").on("change, click", function(){

});

在此内写下您的逻辑。

此外,您的复选框验证错误。将单击复选框。

$('input.checkbox_check').prop('checked')

这是完整的代码

$(function(){
    $("input").on("change, click", function(){
        if ((parseInt($('#UserName').val(), 10) > 149) && $('input:radio[name="gender"]').is(':checked') && $("#remember").prop('checked'))
        { 
            $("#submit").removeAttr("disabled");
        }
        else{
            $("#submit").attr("disabled", "disabled");
        }
    });
});

<强> WORKING FIDDLE

答案 3 :(得分:-1)

您可以在textbox,radiobutton和checkbox onchange事件中调用它。

修改

$(document).ready(function () {
        $("input").change(function () {
            //call function.
        });
    });

答案 4 :(得分:-1)

您可以使用jQuery.validate。您也可以定义自定义验证方法。

http://jqueryvalidation.org

答案 5 :(得分:-1)

您可以使用HTML5验证。例如:

<input type="checkbox" required name="checkbox1" />
<input type="text" min="150" name="input1" />

您可以在此处查看另一个示例http://www.w3schools.com/html/html5_form_attributes.asp