1

我的问题是我想将文本字段的值从一个 HTML 页面转移到另一个页面。

根据下面的代码,在第一页,我可以sms_name通过onclick属性获取文本字段的值。但是我无法在其他页面上访问它。

我使用了许多解决方案,但直到现在都没有成功。

HTML 文件 #1:

<div style="width:100%;height:34%;;margin-top:20%" >
    <div class="message-onclick"  onclick="
        var sms_name= document.getElementById('recepient-name').value;
        alert(sms_name);
    "> </div>
</div>

HTML 文件 #2:

<div class="log-divs" style="height:7%;border:1px solid red" onclick="
    alert(sms_name); ">
</div>
4

2 回答 2

0

您需要将 jQuery 库添加到页面发送的标题中。然后,只需将下面的代码相应地添加到每个页面的标题中(在页面发送上,在 jQuery 库之后)。

页面发送:

<script type="text/javascript">
    var sms_name = $("#recepient-name").val();

    $.ajax({
        type: "GET",
        url: "your-other-page.html",
        data: { 
            sms_name: sms_name 
        }
    });
</script>

页面接收:

<script type="text/javascript">
    var urlParams;

    (window.onpopstate = function () {
        var match,
            pl     = /\+/g,  // Regex for replacing addition symbol with a space
            search = /([^&=]+)=?([^&]*)/g,
            decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); },
            query  = window.location.search.substring(1);

        urlParams = {};
        while (match = search.exec(query))
           urlParams[decode(match[1])] = decode(match[2]);
    })();

    alert(urlParams["sms_name"]);
</script>

基于这篇文章:如何在 JavaScript 中获取查询字符串值?

于 2013-07-18T08:34:57.757 回答
0

如果您真的想仅使用 javascript 执行此操作,则不需要任何特定的 js 库,只需使用 get 参数将值传递到您的第二页:

在您的第一个文件中:

window.location.href = 'secondfile.html?sms_name=' + sms_name;

在您的第二个文件中:

var param = 'sms_name';

// get the position of your parameter in the url

var paramIndex = window.location.href.indexOf(param + '=')

  , value = window.location.href.substr(paramIndex + param.length);

// find where your value ends

var valueEndIndex = value.indexOf('&');

// if other params follow, take them off

if (valueEndIndex !== -1) value = value.substr(0, valueEndIndex);

// that should do it

alert(value);
于 2013-07-18T08:45:10.557 回答