Javascript 为什么我没有收到serialize()的响应?

Javascript 为什么我没有收到serialize()的响应?,javascript,jquery,html,Javascript,Jquery,Html,我对jQuery非常陌生。我一直试图在jQuery中使用.serialize方法,但似乎无法获得响应。我已经检查了MicrosoftEdge、InternetExplorer和Chrome上的控制台,但没有迹象表明连接到最新的库(3.4.1)后会发生任何事情。我的HTML和JavaScript代码如下: 先生 夫人 名字: 姓氏: 北 南方 东边 西部 你的结果 $(文档).ready(函数(){ $('#ourform')。提交(函数(事件){ event.preventDefaul

我对jQuery非常陌生。我一直试图在jQuery中使用.serialize方法,但似乎无法获得响应。我已经检查了MicrosoftEdge、InternetExplorer和Chrome上的控制台,但没有迹象表明连接到最新的库(3.4.1)后会发生任何事情。我的HTML和JavaScript代码如下:


先生
夫人

名字: 姓氏:
北 南方 东边 西部
你的结果 $(文档).ready(函数(){ $('#ourform')。提交(函数(事件){ event.preventDefault(); var myform=$('#ourform').serialize(); 警报(myform); 返回false; }); });
不能包含
src
属性并在标记中包含数据-如果包含
src
,则脚本标记必须为空

只需使用两个单独的选项:

<script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('#ourform').submit(function(event){
        event.preventDefault();
        var myform = $('#ourform').serialize();
        alert(myform);
        return false;
    });
});
</script>

$(文档).ready(函数(){
$('#ourform')。提交(函数(事件){
event.preventDefault();
var myform=$('#ourform').serialize();
警报(myform);
返回false;
});
});

编辑:由于您似乎希望禁用按钮的默认提交行为,因此添加
type=“button”
属性可以消除取消默认行为的需要

当您在
标记中包含自己的javascript时,您不需要
src
属性(这导致了404)


您需要将自己的代码放在与引用jQuery.js的标记不同的
标记中。感谢您如此快速地响应。但是,如果我这样做,我会在控制台中得到一个“$”未定义错误。您使用的是jquery slim库还是full库?这可能对serialize()有影响,也可能没有影响。“我在控制台中遇到了一个“$”未定义错误。”您是否也为jQuery添加了include?这是否回答了您的问题?谢谢您的快速回复,但现在我发现控制台中有一个未定义的“$”。@PetePhanor:您能分享完整的消息吗?您关于提交行为的回答是正确的,我更新了我的答案。我的理解是,目标是为了其他目的序列化表单元素及其子元素,而不是将表单提交到url,因为我们不必为此手动序列化表单。此外,永远不要为表单中的元素提供
id=“submit”
。它询问在表单上覆盖提交方法的问题。谢谢!我把id改回原来的“g”@davidgamero谢谢你的帮助。我仍然有点不确定哪里出了问题,但我会研究你的代码,找出哪里出了问题。再次感谢!
    ...
      <button id="g" name="g" value="submit">Submit</button>
    </form>
    <div class="results">Your Results</div>

    <script language="JavaScript" type="text/javascript">
      $(document).ready(function() {
        $('#g').click(function(event) {
          //event.preventDefault();
          var myform = $('#ourform').serialize();
          alert(myform);
          return false;
        });
      });

    </script>

  </body>

</html>
<script language="JavaScript" type="text/javascirpt" src="https://code.jquery.com/jquery-3.4.1.js">
</script>