javascript - 为什么我没有收到序列化()的响应?

标签 javascript jquery html

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

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
<script language="JavaScript" type="text/javascirpt" src="https://code.jquery.com/jquery-3.4.1.js">
</script>
</head>
<body>
<form name="ourform" id="ourform" action=''>
<select name="salute">
    <option>Mr.</option>
    <option>Mrs.</option>
</select>
<br>
First Name: <input type="text" name="firstname"/>
Last Name: <input type="text" name="lastname"/>
<br>
<select name="region" multiple="multiple">
    <option>North</option>
    <option>South</option>
    <option>East</option>
    <option>West</option>
</select>
<br>
<textarea rows="6" cols="20" name="comment">
</textarea>
<input type="submit" name="g" value="submit" id="g"/>
</form>
<div class="results">Your Results</div>

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

</script>

</body>
</html>

如果您能提供任何帮助,我们将不胜感激。

最佳答案

编辑:因为您似乎想禁用默认的 submit按钮的行为,添加 type="button"属性消除了取消默认行为的需要。

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

updated jsfiddle

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

$ is undefined是由于 jquery 无法加载造成的,这是由于

中的 'javascript' 拼写错误引起的
<script language="JavaScript" type="text/javascirpt" src="https://code.jquery.com/jquery-3.4.1.js">
</script>

关于javascript - 为什么我没有收到序列化()的响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59887603/

相关文章:

javascript - 溢出的div中的绝对div

javascript 在表单提交时设置 Cookie

javascript - 当 slider 项目具有 .flex-active-slide 类时,使 flexslider 视频自动播放

html - 容器背景重复-y 不工作

javascript - 是否可以与位于与 html5 网站呈现的服务器不同的服务器中的 websocket 进行通信?

html - 在嵌套菜单中,如何使子菜单 100% 并左对齐?

javascript - 有什么办法把它变成一个 jQuery 函数吗?

Javascript document.write 选择选项

jquery - 在 Twitter Bootstrap 中对齐可折叠按钮

javascript - 如何构建一个按点击计数但仅显示奇数的响应组件的答题器?