![](/img/trans.png)
[英]Wordpress change HTML content of :after element for specific post category
[英]How to change HTML content with javascript after the POST method
在使用POST方法提交表单后,使用javascript更改HTML文档中的内容时遇到了麻烦。 我需要将HTML文档中div的颜色更改为黄色,我已经完成了,但问题是在它变为黄色后,HTML网站会在导航器中刷新,然后恢复正常(白色) )。 它有点闪烁黄色然后又变成白色。
这是我的HTML代码:
<form action="" method="post" onSubmit="return changeColor()">
.
.
.
<div id="divColor">
.
.
这是我改变div颜色的javascript代码:
function changeColor()
{
var div = document.getElementById("courselist");
div.style.backgroundColor='yellow';
}
我需要这样做,因为它是赋值的一部分,所以我不能用CSS改变颜色,到目前为止我们只能使用HTML和javascript。 如果有人认为我想作弊,这不是整个任务,这是我被困的部分。 在导航器在POST方法之后刷新HTML网站后,我无法使div保持黄色。
谢谢!
提交表单时,它会转到action=""
指定的下一页。 因此,当您单击提交按钮时,它会更改颜色,然后加载下一页。 由于缺少在action=""
指定的页面,它正在重新加载相同的页面,因此它变为黄色,然后刷新。
这是你可能正在寻找的。 您使用AJAX向POST提交信息,而不实际加载不同的页面。
有三种方法可以实现您的目标。
使用ajax提交信息,以便页面不刷新,状态保持不变。或者你可以像下面这样做,它与ajax具有相同的效果:
<iframe name =“myIfr”style =“display:none”> </ iframe> <form method =“post”target =“myIfr”> ... </ form>
更改“”的“动作”,在网址中记录状态,如下所示:“mypage.php?status = 1”,刷新页面后,您可以从网址获取状态。
使用Cookie。 我认为这不是一个好主意。
您可以将其分开,以便只有在满足其他条件时才打印出表单。 使用一个名为$ output_form的变量(或者你想要命名的任何变量)并将其设置为false,然后在发送POST之前将代码打印出来,然后发送POST之后的内容。 这是我刚刚完成的一些代码的精简版本,可能会帮助您了解您可以执行的操作:
<?php
if(isset($_POST['Submit'])){
{SOME CODE HERE}
$output_form = true;
}
}
else{
$output_form = true;
}
if (!$output_form){
{SOME CODE HERE}
}
else{
{OTHER STUFF HERE}
$output_form = true;
mysqli_close($dbc);
}
}
if ($output_form){
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
大家好我终于解决了我的问题。 我必须在我的changeColor()函数中返回false,网站将改变颜色,但不刷新自己。 我喜欢使用cookies的方法。
谢谢你的帮助,我无法使用AJAX或PHP,因为他们还没有教过我们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.