0

到了混乱的地步

我正在创建几个输入元素和一个搜索按钮。从以前使用 HTML 开始,我相信我应该创建一个并包含我的元素和

但是除了发送到 javascript 以在谷歌地图中显示正确的位置之外,数据不会被发送到任何地方。

我设法使自己感到困惑;我需要一个元素来包含和 s 吗?问题是当我按下页面重新加载的测试或搜索按钮时。

我不希望页面重新加载。我不让这种情况发生的唯一方法是删除元素,这感觉不对,如果可能的话,我担心使用良好的做法。

这是我的代码:

       <form id="maps_form">
         <fieldset id="search_maps">
           <label for="marker">Search Shop: </label>
    <input name="searchName" id="searchName" type="text" placeholder="Enter Shop Name">

         </fieldset>
         <fieldset id="map_buttons">
            <button id="test"> test</button>
                <button id="searchSomething">Search</button>
          </fieldset> 
    </form>

我觉得,在学习这个 javascript、浸入 jquery 和学习 xml 的同时,我忘记了 html 的基础知识:s 这通常是在学习新语言时失去联系吗?

4

3 回答 3

2

如果您的单击/提交处理程序未返回 false,该页面将重新加载。因此,如果出现以下情况,页面将刷新:

  1. 如果您的 Javascript 侦听器未正确注册
  2. 您的 Javascript 处理程序返回 true
  3. 您的 Javascript 处理程序导致错误(检查开发控制台是否有错误)
于 2012-04-28T09:28:25.753 回答
0
$("#maps_form").submit(function () {
    // do stuff

    return false; // Don't submit the form
});
于 2012-04-28T09:31:21.730 回答
0

永远不要那样做!如果返回 false 后的操作过多,则不会阻止转到下一页。

$("#maps_form").submit(function () {

    // do stuff

    return false; // Don't submit the form
});

这是正确的形式:

$("#maps_form").submit(function (event) {
    event.preventDefault();

    ... 
});
于 2012-04-28T09:41:36.937 回答