快速提问。
通常情况下,使用JQuery,如果我想将值从输入框传递到同一页面上的另一个,我只需执行以下操作:
<script type="text/javascript">
$('#postalCodeBtn').live('click', function(){
var text = $('#from1').val();
$('#from').val(text);
});
</script>
但现在假设输入“from1”在名为detail的页面上,而“from”在另一个名为maps的页面上。
如何在两个页面之间传递值?
谢谢!
答案 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或服务器端代码的参数。