0

感谢您的任何帮助,您可以提供!我有一个 Ruby on Rails 和 Google Maps API V3 地图应用程序,人们可以在其中使用表单输入起始地址、航点和结束地址。他们单击提交,表单被 jQuery 隐藏。取而代之的是带有行车路线和方向的谷歌地图。在同一视图中,用户可以输入地图的名称。

我的下一个目标是将地图信息保存到数据库中。我已经走了大部分路,但我遇到了一个问题。我想保存地图的名称以及表单中的开始、结束和航点条目。但是,当我将表单环绕整个页面时,单击“提交”查看地图的用户会自动将表单保存到数据库中。这是一个问题,因为他们在保存之前没有机会命名或查看他们的地图。

我应该如何构建表单,以便 Google 地图提交按钮不会保存表单,但我仍然可以从起点、航点和终点捕获信息?

我的页面代码:

    <!-- This is the map route page -->
    <div id="map-route-page">
    <div id="map_canvas"></div>
    <form id="createaMap" action="/newsavedmaps" method="post">
    <input id="savemap_name" name="newsavedmapname" size="30" type="text" value="New Map"></p>
    <input type="submit" id="savethismap" value="Save Map">
    </div>
    </div>

    <!-- End of map route page -->

    <!-- This is the form page -->
    <div id="map-form-page">
        <div id="startingpoint">
            <b>Start</b>
            <input id="startinput" type="text" name="starthere" size="56" value="500 Main Street, CITY, STATE, ZIP"></p>
        </div>
        <div id="stops">
            <div id="multiselect">
                <select multiple id="select1">
                    <option value="500 Main Street, CITY, STATE, ZIP">Address1</option>
                    <option value="500 Main Street, CITY, STATE, ZIP">Address2</option>
                    <option value="500 Main Street, CITY, STATE, ZIP">Address3</option>
                </select>
            </div>
        </div>
        <div id="endingpoint">
            <b>End</b>
            <input id="endinput" type="text" name="endhere" size="56" value="500 Main Street, CITY, STATE, ZIP"></p>
        </div>
        <input type="submit" onclick="calcRoute();" id="showmapview" value="Show Map">
    </div>
    </form>
    <!-- End of form page -->

    </body>
4

1 回答 1

0

您不应该submit为您的谷歌地图功能使用按钮。因为按钮位于其中<form>,所以它触发了对服务器的调用。脱光type="submit"

看起来你也在尝试做两种形式,第一种用于提交到服务器,第二种用于谷歌地图功能。如果是这种情况,我会将</form>标签移到评论上方<!-- End of map route page -->

于 2013-07-28T23:20:04.560 回答