Jquery简单如果语句混乱

时间:2012-02-03 16:25:03

标签: javascript jquery

我收到确认提醒以确认用户操作。

单击“确定”,它应该执行以下代码:

function disableSubmitButton() {
    jQuery("#submitButton").attr("disabled", "true");
    jQuery("#rent_space").submit();
}

关于“取消”,以下内容。

if (!confirm('Are you sure you want to proceed ?')) {
    return false;
}

但是,我的代码当前格式化的方式,无论按下哪个按钮,都会执行第一个代码块。

我认为这只是移动代码,但我不确定如何正确地执行它,因为我的先例尝试都失败了。任何帮助赞赏。谢谢!

完整代码:

<script>
    jQuery(document).ready(onDocumentReady);
        function onDocumentReady() {

            jQuery("#submitButton").click(disableSubmitButton);

            jQuery('#submitButton').click(function() {
                if (!confirm('Are you sure you want to proceed ?')) {
                    return false;
                }
            });

        }
        function disableSubmitButton() {
            jQuery("#submitButton").attr("disabled", "true");
            jQuery("#rent_space").submit();
        }
</script>

5 个答案:

答案 0 :(得分:3)

您可以尝试:

//jQuery("#submitButton").click(disableSubmitButton);

jQuery('#submitButton').click(function() {
if (!confirm('Are you sure you want to proceed ?')) {
    return false;
}
else
{
    disableSubmitButton();
}
});

答案 1 :(得分:1)

您真的需要禁用提交按钮吗?在另一次点击上返回false就足够了。

<script>
    jQuery(document).ready(onDocumentReady);
        function onDocumentReady() {

            jQuery('#submitButton').click(function() {
                if (!confirm('Are you sure you want to proceed ?')) {
                    return false;
                }
            });

        }

</script>

但是我会改为绑定到提交事件:

<script>
    jQuery(document).ready(onDocumentReady);
        function onDocumentReady() {

            jQuery('#rent_space').submit(function() {
                if (!confirm('Are you sure you want to proceed ?')) {
                    return false;
                }
            });

        }

</script>

答案 2 :(得分:1)

您只需要一个事件监听器。条件可以在监听器体中处理。

jQuery("#submitButton").click(function(e) {
  e.preventDefault();
  if(confirm("...")) {
    jQuery("#submitButton").attr("disabled", "true");
    jQuery("#rent_space").submit();
  }
});

NB。您应该使用e.preventDefault()而不是return false来阻止事件的默认行为。

答案 3 :(得分:1)

Hari的回答是正确的。我更喜欢(稍微)更惯用:

jQuery("#submitButton").click(function() {
    if (confirm("Are you sure you want to proceed?")) {
        disableSubmitButton();
    } else {
        return false;
    }
});

答案 4 :(得分:0)

编辑编辑由于您的建议,我得到了它的工作。谢谢。 :)

这是有效的代码。

        <script>
        jQuery(document).ready(onDocumentReady);
            function onDocumentReady() {

                jQuery('#submitButton').click(function() {
                    if (!confirm('Are you sure you want to proceed ?')) {
                        return false;
                    }
                    else{
                        jQuery("#submitButton").click(disableSubmitButton);
                    }
                });

            }
            function disableSubmitButton() {
                jQuery("#submitButton").attr("disabled", "true");
                jQuery("#rent_space").submit();
            }
    </script>