繁体   English   中英

动态更改并检查JavaScript中的变量

[英]Dynamically change and check variable in javascript

我有以下代码:

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静态,但无法正常工作。

使用隐藏字段设置/取消设置标志

<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;
}

我不喜欢您的方式,但是答案是删除flag之前的var以使其全局:

flag = 0;

证明

编辑

  1. 如果要阻止表单提交,则funct()必须return false;
  2. 也许你尝试

     if(somethingIsOK){ echo "<script type="text/javascript">flag=1;</script>"; }else{ echo "<script type="text/javascript">flag=0;</script>"; } 

再三:像这样混合php和JS是一个非常不好的主意

您不能轻易在PHP和JS中使用相同的变量。 但是,您可以做的是使用名称标志和变量的值创建一个<input type="hidden"> ,然后在PHP和JS中读取它。

使用这样的构造是一个坏主意,但是如果您确实想使用一些全局变量,则可以将其分配给window对象属性,即:

window.flag = 0;

并在需要它的任何地方使用此变量(window.flag)。

var flag = 0;
funct(){//makes changes on css
flag=0;}

尝试

var flag = 0;
function funct(){  // <<<<< function
//makes changes on css
flag=0;}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM