Javascript 使用Jquery将变量传递到链接的一部分
我正在使用dynamics,我正在尝试从表单中引入一个变量,并使用它创建一个动态URL以下是我的代码:Javascript 使用Jquery将变量传递到链接的一部分,javascript,jquery,Javascript,Jquery,我正在使用dynamics,我正在尝试从表单中引入一个变量,并使用它创建一个动态URL以下是我的代码: <html> <head> <meta charset="utf-8"> <script src="new_/jquery.js"></script> <script> $( document ).ready(function() { var $productid
<html>
<head>
<meta charset="utf-8">
<script src="new_/jquery.js"></script>
<script>
$( document ).ready(function() {
var $productid = attr("src",parent.window.Xrm.Page.getAttribute('new_productid').getValue());
});
</script>
</head>
<body style="word-wrap: break-word;">
<div style="align: center;">
<script type="text/javascript">
document.write('<a href="http://www.mywebsite.com/products/'+productid+'">Link to some site</a>');
</script>
</div>
</body>
</html>
$(文档).ready(函数(){
var$productid=attr(“src”,parent.window.Xrm.Page.getAttribute('new_productid').getValue());
});
文件。写(“”);
有人知道我做错了什么吗?在声明变量之前,脚本正在运行,在jQuery
ready()
函数中声明变量,这是在执行脚本块之后发生的。将js脚本移动到函数中,并在ready()
函数中声明变量后调用它。您有3个问题:
$productid
vsproductid
$productid
在回调函数中声明,因此与文档不在同一范围内。write调用$productid
在全局范围内,您的文档。write
调用也很可能在$(文档)之前发生。准备好了回调,因此$productid
仍将不包含您期望的值
另外,也不确定您调用的函数是什么,因为您没有在任何地方定义它,因此很可能会因此而出错很可能是
$productid
vsproductid
。删除$
。此外,在未来,你应该解释正在发生的事情与你希望/预期发生的事情。你现在说的是出了点问题。当你不知道发生了什么事情时,通常很难发现哪里出了问题。还有你在中调用的attr
函数是什么。ready
回调,JS没有本地attr
全局函数对不起,我想我知道的比我想象的还要少。我使用了一位朋友给我的一些示例代码并编写了这篇文章,现在这位朋友无法寻求帮助。发生了什么事而不是显示我的链接,它完全没有显示任何内容。除此之外,productid
从未在任何地方定义过,即使它取代了$productid
,$productid
即使在ready()之后运行,也不在另一个脚本的范围内
<div style="align: center;">
<a href="#" id="linkToChange">Some text</a>
</div>
$( document ).ready(function() {
var $productid = attr("src",parent.window.
Xrm.Page.
getAttribute('new_productid').getValue());
$("#linkToChange").attr("href","http://www.mywebsite.com/products/'+$productid);
});