gpt4 book ai didi

php - 更改表单选择时的样式表 onChange ="change()"

转载 作者:行者123 更新时间:2023-11-28 12:01:01 25 4
gpt4 key购买 nike

因此,当用户在表单中选择一个不同的下拉框时,我试图让我的样式表发生变化。

我的代码如下。

$styles = array(
"style",
"dark"
);

$style = $_POST["style"];

if (!in_array($style, $styles))
{
//we default back to the first in the array, this prevents accidental hardcoding;
$style = $styles[0];
}

$css = "/templates/streamer/css/$style.css";

if (!file_exists($css)){
//something terrible happend;
#echo "missing style $css";
}

function showOptions() {
echo '<form id="selectStyle" action="#" method="post">';
echo '<select id="style" onChange="change()">';

global $styles;

foreach ($styles as &$value){
echo '<option value="'.$value.'">'.$value.'</option>';
}

echo '</select></form>';
}

那么我的链接rel如下:

<link rel="stylesheet" href="<?php echo $css; ?>"/>

然后我调用 jquery 脚本:

function change() {
document.getElementById("selectStyle").submit();
}

然后我调用函数来显示表单:

<?php showOptions(); echo $css; ?>

所以我的问题是,一旦我选择了“深色”css 文件,页面就会刷新并且不会更改样式表。

我也尝试过许多其他替代方法,但它们也不起作用。但是我写的这个方法似乎是适合我需要的更好的选择。

谢谢

最佳答案

我认为您正在混合使用 PHP 和 Javascript

这里:

echo '<select id="style" onChange="change()">';

您需要指定一个 name 属性以联系 PHP -可以这么说-

所以这需要更改为:

echo '<select name="style" onChange="change()">';

关于php - 更改表单选择时的样式表 onChange ="change()",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46049657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com