Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery:根据是否同意条款切换提交按钮_Javascript_Jquery_Forms_Submit_Togglebutton - Fatal编程技术网

Javascript JQuery:根据是否同意条款切换提交按钮

Javascript JQuery:根据是否同意条款切换提交按钮,javascript,jquery,forms,submit,togglebutton,Javascript,Jquery,Forms,Submit,Togglebutton,我有一个id为terms的复选框和一个classregistration表单中的提交按钮。我想先禁用submit按钮,然后在用户打开和关闭terms复选框时打开和关闭submit按钮。我还希望在单击提交按钮时弹出一个确认对话框,如果确认,提交按钮将再次被禁用(以防止重复单击)。我已经让最后一部分和第一部分工作(我想),但我不知道如何让切换工作。这就是我到目前为止所做的: $(document).ready(function() { // Disable submit button in

我有一个id为
terms
的复选框和一个class
registration
表单中的提交按钮。我想先禁用submit按钮,然后在用户打开和关闭terms复选框时打开和关闭submit按钮。我还希望在单击提交按钮时弹出一个确认对话框,如果确认,提交按钮将再次被禁用(以防止重复单击)。我已经让最后一部分和第一部分工作(我想),但我不知道如何让切换工作。这就是我到目前为止所做的:

$(document).ready(function() {

    // Disable submit button initially
    $('form.registration input[type=submit]').attr('disabled', 'disabled');

    // Toggle submit button whenever the terms are accepted or rejected
    $('#terms').change(function() {

        if($('#terms:checked').val() !== null)
            $('input[type=submit]', this).attr('disabled', '');
        else
            $('input[type=submit]', this).attr('disabled', 'disabled');

    });

    // Ask for confirmation on submit and disable submit button if ok
    $('form.registration').submit(function() {

        if(confirm('Have you looked over your registration? Is everything correct?')) {
            $('input[type=submit]', this).attr('disabled', 'disabled');
            return true;
        }

        return false;

    });

});
有人能帮我做这件事吗?目前我完全是JQuery新手,因此欢迎进行任何简化和修复。

此部分:

$('#terms').change(function() {
    if($('#terms:checked').val() !== null)
        $('input[type=submit]', this).attr('disabled', '');
    else
        $('input[type=submit]', this).attr('disabled', 'disabled');
});
将只在
#terms
元素(即
,此部分)中查找提交按钮。
我想这就是你想要的:

$('#terms').change(function() {
   $('input[type=submit]').attr('disabled', !$(this).is(':checked'));
});
这部分:

$('#terms').change(function() {
    if($('#terms:checked').val() !== null)
        $('input[type=submit]', this).attr('disabled', '');
    else
        $('input[type=submit]', this).attr('disabled', 'disabled');
});
将只在
#terms
元素(即
,此部分)中查找提交按钮。
我想这就是你想要的:

$('#terms').change(function() {
   $('input[type=submit]').attr('disabled', !$(this).is(':checked'));
});

即使在页面顶部有这两行,它在IE7/8中也不起作用:即使在页面顶部有这两行,它在IE7/8中也不起作用: