JQuery - 将值从输入框传递到另一个页面中的输入框

时间:2011-07-27 13:47:59

标签: javascript jquery

快速提问。

通常情况下,使用JQuery,如果我想将值从输入框传递到同一页面上的另一个,我只需执行以下操作:

    <script type="text/javascript">

    $('#postalCodeBtn').live('click', function(){
    var text = $('#from1').val();
    $('#from').val(text);
    });

</script>

但现在假设输入“from1”在名为detail的页面上,而“from”在另一个名为maps的页面上。

如何在两个页面之间传递值?

谢谢!     

2 个答案:

答案 0 :(得分:1)

如果没有通过AJAX加载,你将不得不将其发送到服务器并使用服务器端语言(php,python等)将其添加到地图中。我想你也可以将它保存到cookie中,如果你真的想要,然后在“地图”页面上检查它。您也可以通过GET发送它(修改链接,如果有的话),然后使用JS解析它,但如果它是一个正在POST的表单字段,那就是服务器端语言。

编辑:嗯,不知道更多,这是我能为你做的最好的。

<script type="text/javascript">

function buildValue(sValue) {
    if (/^\s*$/.test(sValue)) { return(null); }
    if (/^(true|false)$/i.test(sValue)) { return(sValue.toLowerCase() === "true"); }
    if (isFinite(sValue)) { return(parseFloat(sValue)); }
    if (isFinite(Date.parse(sValue))) { return(new Date(sValue)); }
    return(sValue);
}

function getVars() {
    var oGetVars = {}
    if (window.location.search.length > 1) {
        var iCouple, aCouples = window.location.search.substr(1).split("&");
        for (var iCouplId = 0; iCouplId < aCouples.length; iCouplId++) {
            iCouple = aCouples[iCouplId].split("=");
            oGetVars[unescape(iCouple[0])] = iCouple.length > 1 ? buildValue(unescape(iCouple[1])) : null;
        }
    }
    return oGetVars;
}

$(function() {
    // The name of the parameter we're interested in
    var param = "postalCode";

    // Gets the params from the URL
    getParams = getVars();
    // If the parameter we want is in the URL AND the #from element is found...
    if (getParams[param] && $("#from").length) {
        // Set the value of the #from element to the value of the parameter
        $("#from").val(getParams[param])
    }

    // Store the postalBtn in a variable for easy access
    var postalBtn = $("postalCodeBtn");

    // If the postalBtn is on this page
    if (postalBtn.length) {
        // Create a flag to track modification of anchor
        var modifiedAnchor = false

        // Adds the GET parameter to the parent anchor on button click
        postalBtn.click(function() {
            // In case the user gets click happy
            if (modifiedAnchor) return;

            // Get the parent anchor DOM element
            var anchor = $(this).parent('a')[0]

            // Append the GET parameter to the anchor's href
            // (this assumes the anchor HREF doesn't have GET parameters already)
            anchor.href += "?" + param + "=" + encodeURIComponent($("#form1").val())

            // Set our modifiedAnchor flag to true
            modifiedAnchor = true
        }
    }
})
</script>

答案 1 :(得分:0)

您无法单独使用JavaScript在页面之间传递值。

您需要使用其他方法,例如带有Post / Get,cookie或服务器端代码的参数。