Javascript Jquery确认表单提交
我不熟悉javascipt/jquery,我找不到一种方法用一个选择表单确认表单提交,该表单在更改时提交 当用户选择一个新的时间时,我希望出现一个警告,提示更改时间将清空您的购物车,是否继续 然后,用户可以选择取消更改或确认Javascript Jquery确认表单提交,javascript,jquery,Javascript,Jquery,我不熟悉javascipt/jquery,我找不到一种方法用一个选择表单确认表单提交,该表单在更改时提交 当用户选择一个新的时间时,我希望出现一个警告,提示更改时间将清空您的购物车,是否继续 然后,用户可以选择取消更改或确认 <form id="hour_select" action="" method="POST" name="hour_form"> {% csrf_token %} <select name="hour" onchan
<form id="hour_select" action="" method="POST" name="hour_form">
{% csrf_token %}
<select name="hour" onchange='hour_form.submit()'>
<option {{selected1900}} value="1900">7:00 PM</option>
<option {{selected2000}} value="2000">8:00 PM</option>
<option {{selected2100}} value="2100">9:00 PM</option>
<option {{selected2200}} value="2200">10:00 PM</option>
<option {{selected2300}} value="2300">11:00 PM</option>
<option {{selected2400}} value="2400">12:00 AM</option>
<option {{selected100}} value="100">1:00 AM</option>
<option {{selected200}} value="200">2:00 AM</option>
</select>
<input type="hidden" name="submit=" value="hour_change"/>
</form>
您可以在方法上使用jQuery,而不是使用onchange属性:
还要注意的是,您应该将代码放在document ready handler中。将代码放在这样的位置,以便在加载时绑定事件:
$(document).ready(function(){
$('select[name=hour]').change(function(){
if(confirm('Changing the time will empty your cart, do you wish to continue?')){
$('#hour_select').submit();
}
});
});
如果要调用表单的提交处理程序,请不要调用任何submit。重命名“提交”按钮或删除缺少的名称。请在此处选择$hour。并非所有浏览器都允许您访问form@mplungjan你说得对,netscape navigator 4不会。我担心netscape navigator 4吗?这是一个非常糟糕的论据,而且它是很多浏览器都不需要的。只是因为你不想麻烦再输入几个字符来兼容。它被称为防御性编码。想做就做它不会造成伤害,并且可以节省大量调试时间。我认为这是一种更好的方法,因为它使用jQuery的.change事件,这与.on'change',..相同,但更干净的代码方式…假设我将时间从晚上7点改为晚上9点。即使我取消更改,选择按钮仍显示晚上9点。是否有办法更改此值?每次更改时将值保存到隐藏字段中。然后,在确认。。。。放置一个else子句,然后在该子句上检查该值是否与以前设置的值不同。。。如果是的话,把它改回原来的值。假设我把时间从晚上7点改到晚上9点。即使我取消更改,选择按钮仍显示晚上9点。有办法改变吗?@anc1revv对不起,我不明白你的意思,当你取消公司并更改select元素的值时,你会看到以前的值吗?@mplungjan你的代码中有一个错误,是的,我想他想在取消时选择第一个选项。现在已经很晚了。有趣的道具版本。无论发生什么,都将选择第一个。我的意思是,取消时,我想回到他选择的任何时间。不会总是在晚上7点
$(document).ready(function(){
$('select[name=hour]').on('change', function() {
if (confirm("Changing the time will ....")) {
$('#hour_select').submit()
} else {
$('option:first', this).prop('selected', true)
}
})
})
$(document).ready(function(){
$('select[name=hour]').change(function(){
if(confirm('Changing the time will empty your cart, do you wish to continue?')){
$('#hour_select').submit();
}
});
});