gpt4 book ai didi

javascript - jQuery 表单提交事件根本不起作用

转载 作者:行者123 更新时间:2023-11-28 21:01:07 24 4
gpt4 key购买 nike

以下是我的代码。我想要的是每当提交表单时运行 3 条 jQuery 行,这些行围绕一些定位和可见性移动。现在,每当我提交表格时,什么也没有发生。我哪里出错了?

    <!DOCTYPE html>
<html>
<head>
<title>Webther - What's it like out?</title>
<link rel="stylesheet" type="text/css" href="css/desktop.css" />
<script src="http://code.jquery.com/jquery-latest.js"></script>

<script type="text/javascript">
function showResult(str)
{
if (str.length==0)
{
document.getElementById("livesearch").innerHTML="";
document.getElementById("livesearch").style.border="0px";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var response=xmlhttp.responseText;
if (response.length!=0)
{
document.getElementById("livesearch").innerHTML=xmlhttp.responseText;
document.getElementById("livesearch").style.border="1px solid #A5ACB2";
}
}
}
xmlhttp.open("GET","livesearch.php?q="+str,true);
xmlhttp.send();
}

function ChangeVal()
{
document.getElementById("searchbox").value="";
}
</script>
</head>
<body>
<div id="pagecontainer">
<div id="indexlogocontainer">
<img id="indexlogo" src="images/fulllogo.png" />
</div>
<div id="indexsearchcontainer">

<div id="searchsurround"><form id="searchform"><input type="text" autocomplete="off" id="searchbox" name="q" size="50" value="Enter a city or zipcode here!" onkeyup="showResult(this.value)" onclick="ChangeVal()"/>
&nbsp;&nbsp;<input type="image" alt="Go!" src="images/goicon.jpg" id="searchsubmit" /></form></div>
<script type="text/javascript">
$("form").submit(function() {
$("#indexlogocontainer").animate({ marginTop: '-40px' }, 1000);
$("#mylocations").fadeOut("slow");
$("#forecast").fadeIn("slow");
return false;
});​
</script>
<div id="livesearch"></div>

</div>
<div id="mylocations">
<h1>My Locations</h1>
<ul>
<li>BLAH</li>
<li>Blah!</li>
</ul>
</div>
<div id="forecast" style="display: none;">
PAGE INFO
</div>
</div>

</body>
</html>

最佳答案

$(document).ready(function(){

$("form").submit(function() {
$("#indexlogocontainer").animate({ marginTop: '-40px' }, 1000);
$("#mylocations").fadeOut("slow");
$("#forecast").fadeIn("slow");
return false;
});​

});

基本上,您必须在文档的就绪函数中(最好是在 head 部分)编写该函数,而不是在表单标记下方。

关于您的代码的更多建议

您正在使用来自 google code 的 jQuery 最新版本。将来版本可能会发生变化,并且一些内容可能会被弃用,因此可能会停止您网页的一些功能。所以总是使用特定版本,例如

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">

学习并使用jQuery的ajax功能。这将是简短而灵活的。引用http://api.jquery.com/jQuery.ajax/

关于javascript - jQuery 表单提交事件根本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11044374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com