JavaScript / jQuery在其他html页面中添加innerHtml

时间:2015-11-06 09:11:53

标签: javascript jquery html

我有两个let $map:=map{} for $doc in db:open("movies","movies.xml")/movies/movie return map:put($map, $doc/@id,avg($doc/ratings/child::node()) ) 个网页,在html文件中,我有一个index.html和一个button。我希望input textbox中的值显示在下一页上。如果我有两个javascript文件,我应该怎么做呢?或者什么?

使用Javascript:

textbox

的index.html:

$('#searchBtn').click(function(){

    var search = document.getElementById('searchField');
    document.getElementById("demo").innerHTML = search.value;
  });

results.html:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <link rel="stylesheet" href="css/index.css" type="text/css" />
        <title>The Lantzyfi Bay</title>
    </head>
    <body>
        <div class="head">
            <img class="logo" src="pics/logo.png">    
        </div>
        <div class="body">
            <form>
                <div class="searchField">
                    <input id="searchField" type="text" placeholder="Lantzify Search" name="search" size="32"/>
                    <a id="searchBtn" class="search" href="results.html">Search</a>
                </div>
                <div class="checkboxes">
                    <input type="checkbox" name="music">Music</input>
                    <input type="checkbox" name="pics">Pics</input>
                    <input type="checkbox" name="videos">Videos</input>
                    <input type="checkbox" name="other">Other</input>
                </div>
            </form>
            <div class="links">
                <a href="#">Userpolicy</a>
                <a href="#">About</a>
                <a href="#">Lorem Ipsum</a>


            </div>


        </div>




        <script type="text/javascript" src="java/jquery-2.1.4.min.js"></script>
        <script type="text/javascript" src="java/search.js"></script>
    </body>
</html>

3 个答案:

答案 0 :(得分:2)

您可以将其添加到网址,而不是在另一方面阅读。

Index.html会是这样的:

$("#searchBtn").on('click', function () {
   var url = "results.html?q=" + $("#searchField").val();
   window.location = url
}

Result.html会有类似的内容:

$(document).read(function () {
    $("...").html(getParameterName('q'));  
}

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
   return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
getParameterName函数的

Credit

注意:

你必须注意,这不是正确的做事方式,因为你会遇到许多问题,比如url编码,字符串太长。然而,这是一个很好的开始方式。一切顺利。

我也在代码中使用了一些jquery。如果这是一个问题,请告诉我,我可以将其更改为

答案 1 :(得分:0)

只有简单的JS和HTML才能。通过存储值和Timer(1)或SignalR(2),它可以做到这一点。

1,存储价值somewear(数据库或cookie,如果只是为实际用户),并在某个时间刷新结果页面,由JS或外部,并读取值。

2,SignalR Async刷新页面内容,但你是ASP.NET(MCV)。 http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr#next

答案 2 :(得分:0)

看来两页是从同一个来源提供的。

  1. localStorage是一个选项: The Mozilla demo containing an example

  2. 如果第一页有对第二页窗口的引用,例如通过调用window.open打开第2页。 window.postMessage也是一个选项,它也适用于交叉起源。

  3. 如果Web服务器也在您的控制之下,您当然可以通过ajax将数据发送回服务器,然后让服务器通过Server Sent Event或Web通知第2页,将服务器用作发送器套接字等