2010-08-03 51 views
0

我有一个表单向导,需要阻止用户从第1步移动到第2步。使用验证很容易做到这一点,但这不是必需的,只是一个警告if检查框的特定组合。我让它工作到一定程度,不幸的是,它不会阻止用户从步骤1移动到步骤2,并在步骤2中显示警报。理想情况下,它将在第一步显示警告/确认对话框,并且只允许用户如果他们选择确定,则转到步骤2,选择取消将关闭框并保留在该页面上。任何人都可以帮忙吗?非常感激。而现在,代码:使用formToWizard.js预防默认值

$("#step0Next").live('click', function(event) { 
if($("#RT").is(":checked") && !$(".ex").is(':checked')) { 

alert("You have not selected any exchanges for which to receive real time market data from. If 
you continue, you will only receive real time data for market metrics and ten minute delayed 
data for everything else. Do you wish to continue?"); 
$(this).die('click'); 
} 
}); 

因此,如果用户检查“#RT”,并与一类.EX没有复选框被选中,则执行步骤2和显示警报。我将用自定义jConfirm框替换警报。 谢谢,

回答

0

听起来像是你需要一个确认框 - 在这里看到:http://www.w3schools.com/js/js_popup.asp

+0

http://www.kinetick.com/Test/purchaseTest $( “#step0Next”)。住( '点击',函数(事件){ \t \t \t VAR问=确认(”你真的想继续“); \t \t如果($(”#RT“)。(”: ===假)){ \t \t \t \t event.preventDefault(); \t \t \t} \t \t}); 仍然不能阻止击中#step0Next的“默认”并进入下一步。第二步显示确认 – 2010-08-03 23:52:33

0

@Nick Craver - 感谢的人。

<script type="text/javascript"> 
    $("#step0Next").live('click', function(event) { 
     $('#step1Prev').click(); //go back to step 1 
     if($('#RT').is(':checked') && !$('.ex').is(':checked')) { 
      if(!confirm("You have not selected any exchanges for which to receive real time market data from. If you continue, you will only receive real time data for market metrics and ten minute delayed data for everything else. Do you wish to continue?")) return; 
      $('#step0Next').die('click'); 
     } 
    $(this).triggerHandler('click'); 
    }); 
</script>