这可能听起来很奇怪,但是我希望有一个按钮,其中的链接在用户点击时无法打开:
<a href="http://mysite.nl/test.php?value=snow"> click</a>
我想这样做,因为此链接具有PHP值来重新创建页面。按钮打开时带有新的背景颜色。
我不能只使用
document.body.style.backgroundColor='Snow'
因为页面自动重新加载,我希望即使页面重新加载,颜色也会保持“雪花”。
可以这样做吗?是否有更好的方法可以通过单击按钮永久更改样式?
答案 0 :(得分:2)
你可以使用php SESSION
$_SESSION['color']='snow';
并通过每次重新加载从会话中获取值。 并使用preventDefault()来阻止使用javascript链接重定向
答案 1 :(得分:0)
我建议使用隐藏字段并将背景作为值,然后使用javascript获取隐藏字段的值
答案 2 :(得分:0)
如果您希望它对用户来说是永久性的,则应将其存储在数据库中。你应该通过拨打服务器来做到这一点。你可以使用ajax。使用jquery的ajax函数非常简单。
http://api.jquery.com/jQuery.ajax/
您应该使用ajax发布到您的服务器并更改数据库中的背景颜色。如果您不想刷新页面,则应使用javascript更改背景颜色。
再一次,jQuery让这很简单... $('element')。css('background-color','color');
答案 3 :(得分:0)
你尝试创建一个简单的&lt;按钮 onclick ='javascript:myfunction(); return false;'&gt; test&lt; / button&gt; ?
并在'myFunction()'
中实现您想要的内容答案 4 :(得分:0)
您可以使用localStorage。
以隐藏字段颜色指定值。只需传递网址http://mysite.nl/test.php?value=red
中的颜色即可。
HTML
<form>
<a id="change-bg" href="#"> click</a>
<input type="hidden" name="color" value="<?=(!empty($_GET['value']) ? $_GET['value'] : '')?>"/>
</form>
JQUERY
<script src="http://code.jquery.com/jquery-1.9.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
if (typeof(Storage)!=="undefined" && typeof localStorage.bgColour !== 'undefined' ) {
$('body').css({'background' : localStorage.bgColour});
}
$('#change-bg').click(function(){
$('body').css({'background' : $('[name="color"]').val()})
localStorage.bgColour = $('[name="color"]').val();
return false;
});
});
</script>