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