使用javaScript切换CSS文件并不适用于输入按钮POST方法

时间:2017-03-22 19:54:07

标签: javascript php jquery html css

我试图弄清楚如何在我的模板中切换两种css样式,以便我可以更改制作一个多语言网站,为此我创建了一个带有两个输入按钮的表单:

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
     <input type="submit" id="style1" name="ar" value="Style1" /><br>
     <input type="submit" id="style2" name="en" value="Style2" />
</form>

我用于jQuery函数的代码:

$('#style1').click(function (){
   $('link[href="layout/css/ltr_theme.css"]').attr('href','layout/css/rtl_theme.css');
});
$('#style2').click(function (){
   $('link[href="layout/css/rtl_theme.css"]').attr('href','layout/css/ltr_theme.css');
});

样式只会改变一毫秒,然后返回到之前的样式。 仅供参考,我尝试用另一种方法替换<input/> <a><a/>,并且它有效,但我需要输入法的原因是用PHP方法调用PHP中的另一个脚本以包含同一个语言文件时间。 希望我能找到一个人来帮助我解决这个问题,谢谢。

2 个答案:

答案 0 :(得分:0)

改变这个......

$('#style1').click(function (){

对此...

$('#style1').click(function (event){
    event.preventDefault();

重复第二个按钮。

这将阻止页面因表单提交而重新加载。

答案 1 :(得分:0)

当您单击提交按钮时,页面会自动刷新(因为它发送了POST请求而您没有使用AJAX来处理它)。因此,您需要使用https://api.jquery.com/jquery.post/

当您点击链接时,由于链接是本地的(#style),因此不会刷新页面。