Jquery确认不会出现

时间:2013-03-12 22:16:55

标签: php jquery forms popup confirmation

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

这是我的jquery / header:

<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:

查看源代码“应该”有效:

  

形式   行动= “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>

1 个答案:

答案 0 :(得分: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;
        }
    });