我想首先说我对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>
答案 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;
}
});