我有一个javascript变量soucreID,让我们说
sourceID = 10;
sourceID是动态值并且始终更改,因此我希望将其传递给以下标记
<a href="edit-source.php?source=<script>document.write(sourceID)</script>">Edit</a>
但它不起作用,
任何人都可以告诉我如何在<a href="">
标签中编写javascript值。
先谢谢。
答案 0 :(得分:2)
使用jQuery,你可以这样做:
<a href="edit-source.php" class="edit-btn">Edit</a>
var id = 10;
var href = $(".edit-btn").prop("href");
$(".edit-btn").prop("href", href + "?source=" + id);
我假设在呈现代码之前你不知道id
,否则这是没有实际意义的。
答案 1 :(得分:1)
在Plain JS中你可以做到
<script>
var souceID="somesource"; // this is of course assumed
document.write('<a href="edit-source.php?source='+sourceID+'">Edit</a>')
</script>
OR
<a href="#" onclick="this.href='edit-source.php?source='+sourceID">Edit</a>
使用OP评论中的代码:
<div id="popuppage" data-role="popup" data-overlay-theme="a" style="max-width:250px;">
<ul data-role="listview" data-inset="true" data-dividertheme="d" data-theme="c" style="min-width:210px;">
<li data-icon="gear" class="cust-popuplist" id="popupSourceID">
<a href="#"
onclick="
this.href='edit-source.php?source='+
encodeURIComponent(document.getElementById('srcvalue').value);
">Edit</a>
<input type="hidden" name="srcvalue" id="srcvalue" value="somevalue">
</li>
</ul>
</div>
或者这个怎么样:根本不需要JS
<form action="edit-source.php">
<input type="hidden" name="source" value="<?php echo $srcvalue; ?>" />
<input type="submit" value="Edit" />
</form>
答案 2 :(得分:0)
您不能将标记放在属性值中。
这是一个丑陋的解决方案。而且,这将通过在页面首次加载时转储变量来实现。如果你有变量然后你可以使用PHP来插入它。
我猜你想要响应用户输入,所以应该将变量添加到链接中。您需要一种完全不同的方法,在适当的时候设置整个href属性。