javascript 菜单栏和表单

Posted

技术标签:

【中文标题】javascript 菜单栏和表单【英文标题】:javascript menubar and form 【发布时间】:2013-10-07 20:51:08 【问题描述】:

我的主页“index.html”带有以下菜单栏代码:

<head>
    <script>
    function eco_para(clicked_id) 
    clicked_id1="#" + clicked_id
    $("#home").removeClass("fired");
    $("#inputdata").removeClass("fired");
    $("#contact").removeClass("fired");
    $(clicked_id1).addClass("fired");
    $.get(clicked_id + '.html',function (data)  $('section').html(data));;;
    
    </script>
</head>
<body>
    <div class="wrapper">
        <header>
            <menu>
                <mi id="home" class="fired" onclick="location.reload()">Acceuil</a></mi>
                <mi id="inputdata" onclick="eco_para(this.id)">Calculateur</mi>
                <mi id="contact" onclick="eco_para(this.id)">Contact </a></mi>
            </menu>
        </header>
        <section>
        </section>  
    </div>
</body>

在 inputdata.html 页面上,我使用了一个带有提交按钮的表单:

<form  method="post" action="result.html">
<input type="submit" value="Compute">
</form>

问题是“提交”按钮加载页面“result.html”并且菜单消失了。换句话说,菜单丢失是因为表单的动作没有使用 index.html 页面的 javascript 加载 result.html。

我有一个快速而肮脏的解决方案,即将 index.html 的代码复制/粘贴到 result.html,但我认为这不是最好的方法,因为我必须为一个菜单维护 2 个代码.

最好的方法是什么? (我是 javacsript / html 的新手)我想遵循最佳实践。 1)有没有办法通过另一个页面调用 index.html 中的代码? 2) 有没有办法使用 javascript 代码从另一个页面加载一个部分中的页面?

感谢您的帮助!

11 月 11 日更新 实际上,即使有了 CP500 的回答,我也没有取得太大进展。 这是另一个简化的示例: 当我加载页面contact.html时,我希望此页面加载到页面index.html的部分中 我尝试使用该代码,但实际上它不起作用(contact.html 中的代码):

<script>
$(function() 
$.get( "contact.html", function( data )  $("index.html:section").html(data););
)
</script>

我不知道如何强制在 index.html 部分中加载contact.html...

谢谢!

【问题讨论】:

您还需要 ajax 来加载表单结果。还有一个 preventDefault() 【参考方案1】:

您似乎暗示的方法是 AJAX,或 (a) 同步 HTTP 请求。使用 jQuery 或原生 XHR 就可以实现这个想法。

jQuery 方法

$.get('result.html', 
     'inputName': $('#inputID').val(),
     function(data)  [returned html is in 'data'] 
);

此方法要求您使用 jQuery javascript 库(免费和在线)。然后它的作用是向result.html 发送一个 GET 请求,为查询提供输入值,并使用响应数据触发回调。

如果您的服务器运行 php 甚至 RoR,您可以使用模板技术让服务器通过包含菜单模板自动构建 HTML。

PHP 方法

<html>
<body>
<?php include 'menu.php'; ?>
...
</body>
</html>

【讨论】:

以上是关于javascript 菜单栏和表单的主要内容,如果未能解决你的问题,请参考以下文章

如何恢复EXCEL菜单栏和工具栏的默认状态

Qt菜单栏和标题栏怎么合一?

pythonGUI菜单栏和弹出菜单

GTK3 更新菜单栏和菜单项

在 WebView 中全屏视频后隐藏菜单栏和停靠

Emacs - 没有菜单栏和工具栏