按钮onclick()事件不应该打开链接

时间:2013-05-28 15:44:00

标签: php html

这可能听起来很奇怪,但是我希望有一个按钮,其中的链接在用户点击时无法打开:

<a href="http://mysite.nl/test.php?value=snow"> click</a>

我想这样做,因为此链接具有PHP值来重新创建页面。按钮打开时带有新的背景颜色。

我不能只使用

document.body.style.backgroundColor='Snow'

因为页面自动重新加载,我希望即使页面重新加载,颜色也会保持“雪花”。

可以这样做吗?是否有更好的方法可以通过单击按钮永久更改样式?

5 个答案:

答案 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>