Jquery确认表单提交

时间:2012-09-17 20:35:56

标签: javascript jquery

我是javascipt / jquery的新手,我找不到用提交“onchange”的选择表单确认表单提交的方法。

当用户选择一个新时间时,我希望有一个警告说“更改时间将清空您的购物车,您希望继续吗?”

然后,用户可以选择“取消”更改或确认。

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

3 个答案:

答案 0 :(得分:2)

您可以使用jQuery onchange方法:

,而不是使用on属性
$(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)
     }
  })
})

另请注意,您应将代码放在文档就绪处理程序中。

答案 1 :(得分:2)

像这样放置代码,以便在加载时绑定事件:

 $(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();
         }
     });
 });

答案 2 :(得分:-1)

$('select[name=hour]').on('change', function(){
    var conf = confirm('Changing the time will empty your cart, do you wish to continue?');
    if(conf == true){
        hour_form.submit();
    }else{
        //do nothing, right?
    }
});