我有以下代码:
JS:
var flag = 0;
funct(){//makes changes on css
flag=0;}
HTML:
<form onsubmit="if(flag==1)return funct()">
PHP:
if(somethingIsOK){
echo "<script>flag=1;</script>"; //should use new css which comes with funct()
}else{//do something else with keeping the existing css}
我想要这个结构,但我不能像我想的那样使用变量flag
。我试过让flag
静态,但它不起作用。
答案 0 :(得分:1)
使用隐藏字段设置/取消设置标志
<input type="hidden" name="flag" id="flag" value="1" />
的javascript
var flag = document.getElementById('flag').value;
funct(){//makes changes on css
document.getElementById('flag').value=0;
}
答案 1 :(得分:0)
我不喜欢你这样做的方式,但答案是在标记之前删除var
以使其成为全局:
flag = 0;
修改强>
funct()
必须return
false;
也许你试试
if(somethingIsOK){
echo "<script type="text/javascript">flag=1;</script>";
}else{
echo "<script type="text/javascript">flag=0;</script>";
}
并再次:将php和JS混合起来是一个非常糟糕的主意
答案 2 :(得分:0)
您无法在PHP和JS中轻松使用相同的变量。但是,您可以使用名称标志和变量值创建<input type="hidden">
,然后在PHP和JS中读取它。
答案 3 :(得分:0)
使用这样的结构是个坏主意,但是如果你真的想要使用一些全局变量,你可以将它分配给window对象属性,即:
window.flag = 0;
在你需要的任何地方使用这个变量(window.flag)。
答案 4 :(得分:0)
var flag = 0;
funct(){//makes changes on css
flag=0;}
试
var flag = 0;
function funct(){ // <<<<< function
//makes changes on css
flag=0;}