为什么我的PHP脚本在打开JavaScript时不起作用?(但仅在某些浏览器中)
Why is my PHP Script not working when JavaScript is switched on? (but only in certain browsers)
我是PHP(以及一般的web开发)的新手,遇到了一些对我来说非常非常奇怪的事情!
背景
我目前正在为我的雇主一家培训公司设计和开发一份在线报名表。该表格由3页组成——第1页和第2页用于数据输入,而第3页是一个只有一个输入的摘要页,一个框用于检查客户是否同意我们的T&Cs。第3页还包括一个框,在该框中,根据表格中早些时候做出的选择来计算所选培训课程的价格
第2页显示的表格和第3页的一些文本会根据第一页的选择而变化,也就是说,他们是自己支付课程费用还是雇主资助课程。如果他们选择雇主,他们会得到一份表格,如果他们选择自筹资金,他们会获得另一份表格。但是,这两个表单都包含在一个.php文件中,使用会话变量来决定应该显示哪一个。
我正在使用会话在页面之间传输数据。每个页面都使用会话变量进行了粘性处理。在每个单独的页面上使用javascript进行实时验证,然后当客户试图提交最终页面时,对整个页面进行最后的PHP验证检查。第一页还使用Javascript实时计算课程价格,这样客户就可以在继续之前看到他/她将支付多少费用。
问题
我觉得这真的很奇怪:
在Firefox中,一切都能完美运行
在Internet Explorer中,当JavaScript关闭时,一切都很好。但是,当JS打开时,最后一页上的PHP验证似乎会失控,因此无法提交表单
在Chrome中,当JS关闭时,一切都正常,但当打开时,我甚至无法通过第一页。我没有为第2页加载正确的表格,而是得到了一个空白屏幕。
有人能帮忙吗?这是我的第一个重大项目,我已经做了好几个星期了,遇到了各种各样的问题,我竭尽全力,但还是设法解决了它们。现在,当我几乎快要完成的时候,我完全被难住了!!
我不能在这里发布代码,因为它是3个单独的文档,非常复杂,但如果你想看看表格本身,请访问:
http://testing.xenongroupadmin.com/testing/enrolment.php
我希望有人能帮忙!非常感谢!
您很可能在page2.php、上出现错误
查看错误报告以显示和调试这些:
http://ca.php.net/manual/en/function.error-reporting.php
当我在非Firefox浏览器中出现验证错误时,通常是因为我的JavaScript中有一些错误报告代码。就像
console.log(testValue);
可以让IE屈服。如果您有任何类似的代码,请在其他浏览器中测试之前将其删除。
还要确保所有变量声明都是用"var"完成的,并且在每行的末尾都使用分号(规范确实应该强制执行这一点,但我想它没有,浏览器处理它的方式也不同)。
我刚刚看到所有这些答案,很抱歉没有尽快回复。
我设法解决了这个问题——事实证明这都与JS有关,我的PHP根本没有问题。有两个问题。首先,一些语法错误(花了很长时间才找到)。其次,我的许多HTML元素都有相同名称的id和类(例如id="example"class="example"),这似乎有点抛出javascript。
无论如何,感谢所有的回复,也为在某些方面不太清楚而道歉——"失控"是解释问题的一种非常糟糕的方式!!
干杯
- 当我在浏览器中打开HTML文件时,javascript不起作用
- Javascript的某些部分在Chrome中不起作用,但在其他浏览器中可以完美工作
- 为什么简单的Promise语句在浏览器中不起作用
- 用于播放背景音乐的嵌入式flash播放器在IE浏览器中不起作用
- 带有Safari的Javascript;不起作用——所有其他浏览器都起作用
- 使用Javascript的Ajax请求在iPhone浏览器中不起作用
- 谷歌浏览器模式正则表达式在使用setCustomValidity动态创建表单时不起作用
- 为什么我的谷歌浏览器扩展程序在谷歌浏览器版本 41.0.2272.89 中不起作用
- 为什么这个JavaScript在浏览器中不起作用
- 多个 socket.io 客户端连接不起作用(谷歌浏览器,火狐浏览器)
- 脚本在web浏览器控件中不起作用
- 禁用浏览器中的后退按钮不起作用
- 将JSON对象转换为敲除observable在IE8中不起作用,但在所有其他浏览器中都起作用
- jQuery在我的网站上不起作用,但在我的浏览器上起作用
- 角度路由;在浏览器中直接访问URL时不起作用,但在单击时起作用
- 转到顶部按钮在Firefox浏览器中不起作用
- javascript代码在浏览器中不起作用
- JavaScript文件在浏览器中不起作用,但它在代码笔中起作用
- Javascript浏览器通知不起作用
- 浏览器关闭事件 对于火狐浏览器不起作用