jQuery Ajax表单重定向到查询处理页面,而不是停留在表单上

jQuery Ajax表单重定向到查询处理页面,而不是停留在表单上,jquery,Jquery,我一直在努力让这段代码正常工作。它应该在结果范围内返回“添加了委员会警报”,但它一直转到处理页面。处理页面成功,只是回显成功或失败 这是表格 <div class="addbox"> <p>Select Committees Below</p> <form id="alertForm" action="process.php" method="post"> <input type

我一直在努力让这段代码正常工作。它应该在结果范围内返回“添加了委员会警报”,但它一直转到处理页面。处理页面成功,只是回显成功或失败

这是表格

    <div class="addbox">
        <p>Select Committees Below</p>
        <form id="alertForm" action="process.php" method="post">
            <input type="hidden" name="userid" value="<?php echo $userid; ?>" />
            <input type="text" id="committeeid-input" name="committeeid" />
            <button id="sub" name="addAlert" value="addAlert">Add Alert</button>
            <script type="text/javascript">
                $(document).ready(function() {
                $("#committeeid-input").tokenInput("http://www.orestarjunkie.com/list.php");
            });
            </script>
        </form>
        <span id="result"></span>
    </div>
我曾尝试返回false,但我读到的所有内容都表明该值已被折旧并使用默认值


标记

没有测试我认为正在发生的事情,就是您在按钮上有一个单击处理程序。这将最终产生泡沫并导致提交事件。您还添加了另一个submit事件处理程序,它在submit时不会执行任何操作。我认为您需要做的是阻止您的点击事件冒泡,从而导致提交

$("#sub").click( function(event) {
  $.post($("#alertForm").attr("action"), 
         $("#alertForm :input").serializeArray(), 
         function(info){ 
           $("#result").html(info); 
           return false;
         });
  event.preventDefault();
});

忘记第二个事件,它什么也不做。

结果是我调用脚本的方式。我需要将js放在页面底部。不要犹豫,将你的解决方案作为答案(并将其标记为已接受的答案)而不是注释,因为它提高了可读性。
$("#sub").click( function(event) {
  $.post($("#alertForm").attr("action"), 
         $("#alertForm :input").serializeArray(), 
         function(info){ 
           $("#result").html(info); 
           return false;
         });
  event.preventDefault();
});