问题描述
- 请问html页面如何和JavaScript共用一个变量
-
在同一个页面内html代码如下:<input type="text" id="name" v-on="blur:nameCheck" onchange="javascript:{ changed=true; }">
页面下面JavaScript代码:
if(changed == undefined) { this.message = ['你未进行任何修改']; return; }
当我对input的值进行了修改时,会触发onchange,这样changed的值就为1;但是当没有进行修改时,下面的if找不到changed的值,提示changed未定义。请问各位老师怎样定义和判断changed的值?无论input改变与否,下面的if语句都能找到changed。谢谢。
解决方案
案件告破,还是用的
if('undefined' == typeof(changed)) {
this.message = ['你未进行任何修改'];
return;
}
用两次不行是因为我程序的其他问题,用undefined可以正确判断,谢谢各位老师。
解决方案二:
<!DOCTYPE html>
<html>
<body>
<script>
function getChange(){
alert(changed);//定义成全局变量,window.changed
}
</script>
<input type="text" id="name" v-on="blur:nameCheck" onchange="javascript:{ window.changed=true;
}"/>
<input type="text" id="name" v-on="blur:nameCheck" onchange="javascript:{ window.changed=false;
}"/>
<input type='button' value='查看change状态' onclick='getChange()'/>
</body>
</html>
解决方案三:
change申明为全局变量。。
<script>var change=false</script>
<form onsubmit="return check(this)">
<input type="text" id="name" v-on="blur:nameCheck" onchange="javascript:{ changed=true; }">
<input type="text" id="name" v-on="blur:nameCheck" onchange="javascript:{ changed=true; }">
<input type="text" id="name" v-on="blur:nameCheck" onchange="javascript:{ changed=true; }">
<input type="submit"></form>
<script>
function check(f){
if(!change){alert('未作修改');return false;}
}
</script>
解决方案四:
写错了,如果触发onchange的话,changed的值为true,没有触发的话提示changed未定义
解决方案五:
在javaScript代码片段中自己定义一个变量,初值为false。当发生onchange事件时,把值true赋给该变量
解决方案六:
你可以onchange的时候触发一个js函数啊,然后再函数里判断执行
解决方案七:
changed=false;
if(changed == false) {
this.message = ['你未进行任何修改'];
return;
}
这样吗?这样不行,changed一直为false
解决方案八:
新问题来了,一个值可以正确判断,两个值不行
<input type="text" id="name" v-on="blur:nameCheck" onchange="javascript:{ changed=true; }">
后面是jsp
if('undefined' == typeof(changed)) {
this.message = ['你未进行任何修改'];
return;
}
这样可以正确判断,但是如果我加了个邮箱验证就不行了
<input type="text" id="name" v-on="blur:nameCheck" onchange="javascript:{ changed=true; }">
<input type="text" id="email" v-on="blur:emailCheck" onchange="javascript:{ echanged=true; }">
后面jsp
if('undefined' == typeof(changed) && 'undefined' == typeof(echanged) ) {
this.message = ['你未进行任何修改'];
return;
}
这样就不行了。。。
解决方案九:
亲,onchange事件是必须有变化才触发的,类似onkeypress,你试试声明一个全局变量 var changed呢
解决方案十:
案件告破,还是用的
if('undefined' == typeof(changed)) {
this.message = ['你未进行任何修改'];
return;
}
用两次不行是因为我程序的其他问题,用undefined可以正确判断,谢谢各位老师。