提问人:Marti 提问时间:4/23/2023 最后编辑:Marti 更新时间:4/23/2023 访问量:42
如何更改JS形式以在Chrome / Firefox / Edge中返回“John Doe”而不是“undefined”?
How to change JS form to return 'John Doe' in Chrome/Firefox/Edge and not 'undefined'?
问:
我有一个旧的 JavaScript 表单,可以从 mySQL 数据库获取用户数据。 它在 IE11 中正确显示新客户的电子邮件、街道地址和名称,但在 Chrome/Firefox/Edge 中,名称显示为“未定义”。
我检查了进行浏览器检查的PHP代码:
...
<SCRIPT LANGUAGE='javascript'>
function checkBrowser(){ //Browsercheck (needed)
this.ver=navigator.appVersion
this.agent=navigator.userAgent
this.dom=document.getElementById?1:0
this.opera5=this.agent.indexOf('Opera 5')>-1
this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
this.ie5=(this.ver.indexOf('MSIE 5')>-1 && this.dom && !this.opera5)?1:0;
this.ie6=(this.ver.indexOf('MSIE 6')>-1 && this.dom && !this.opera5)?1:0;
this.ie7=(this.ver.indexOf('MSIE 7')>-1 && this.dom && !this.opera5)?1:0;
this.ie8=(this.ver.indexOf('MSIE 8')>-1 && this.dom && !this.opera5)?1:0;
this.ie9=(this.ver.indexOf('MSIE 9')>-1 && this.dom && !this.opera5)?1:0;
this.other=(this.ver.indexOf('U')>-1 && this.dom && !this.opera5)?1:0;
this.ie=this.ie4||this.ie5||this.ie6||this.ie7||this.ie8||this.ie9||this.other
this.mac=this.agent.indexOf('Mac')>-1
this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.other || this.ie9 || this.ie8 || this.ie7 || this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5 || this.opera6 || this.opera7 || this.opera8 || this.opera9)
return this
}
bw=new checkBrowser();
再往下一点,我有这些行:
...
if(bw.ns4)
document.divMessage.document.input_form.name.value = name[current_id];
...
else
document.input_form.name.value = name[current_id];
...
不知道从哪里开始解决这个问题。
我想知道这是否可能是 Chrome 渲染引擎的问题而不是浏览器版本的问题,因为 IE 没有使用它,对吧?
答: 暂无答案
评论