0

我想首先说我对 Jquery / 客户端脚本非常陌生。当我的老板想要某种方式让客户确认提交的表单时,我有点盲目。

这是我的 jquery / 标题:

<head>
    <title>Access Point</title>
    <meta http-equiv="Content-Type" content="text/html"; charset="utf-8" />
    <link rel="stylesheet" href="<?php echo base_url();?>css/mainstyle.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo base_url();?>css/secondarystyles.css" type="text/css"/>

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script>
        $("#signinform").submit( function(e)
        {
            if (!confirm("If you click OK you will be inserted into student queue. Please take a seat and wait."))
            {
                e.preventDefault();
                return;
            }
        });
    </script>
</head>

这是我的表格:

<?php echo form_open('staff_controller/agree', 'id="signinform"') ?>
            <input type="checkbox" id="agree" name="options" value="agree"<?php echo form_checkbox('options','agree') ?>I have read and understood the above <br /> <font color="#ff0000" size="3">(Please click on the box)</font></input>
            <br />
            <br />
            <br />
            <?php
                echo form_submit('submit', 'Submit'); 
                echo anchor('staff_controller/studentlogin', 'Cancel'); 
                echo form_close();
            ?>

我的 php 脚本检查是否选中了复选框(以同意我们的要求)并检查是否单击了提交。如果单击它,则将值提交到数据库中。据我了解,我可以继续使用这种风格来处理我的数据,我只希望 jquery 在中间,让用户知道他们正在提交。我在互联网上找到了这段代码,但我不知道如何调试它。我还计划使用 jquery 确认来检查您是否要“取消”表单提交

编辑 1:

查看它“应该”工作的源代码:

form action="https://www.finaidtest.com/index.php/staff_controller/agree" id="signinform" method="post" accept-charset="utf-8"

然后是我更新的确认:

<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js"></script>
<script>
    $(document).on('submit', "#signinform", function(e)
    {
        if (!confirm("If you click OK you will be inserted into student queue. Please take a seat and wait"))
        {
            e.preventDefault();
            return;
        }
    });
</script>

编辑 2

感谢 Musa,现在一切正常!谢谢!!

代码 :

<script src="<?php echo base_url();?>javascript/js/jquery.js" type="text/javascript"></script>
    <script>
        $(document).on('submit', "#signinform", function(e)
        {
            if (!confirm("If you click OK you will be inserted into student queue. Please take a seat and wait"))
            {
                e.preventDefault();
                return;
            }
        });
    </script>
4

1 回答 1

2

您必须等待元素被创建,然后才能将事件处理程序绑定到它。使用 $(document).ready 确保在设置处理程序之前创建您的元素。

$(document).ready(function(){
    $("#signinform").submit( function(e)
    {
        if (!confirm("If you click OK you will be inserted into student queue. Please take a seat and wait."))
        {
            e.preventDefault();
            return;
        }
    });
});

您还可以使用委托来附加事件,这样您就不必等待加载 dom

    $(document).on('submit', "#signinform", function(e){
        if (!confirm("If you click OK you will be inserted into student queue. Please take a seat and wait."))
        {
            e.preventDefault();
            return;
        }
    });
于 2013-03-12T22:20:46.450 回答