为什么我的PHP脚本在JavaScript打开时不起作用? (但仅限某些浏览器)

时间:2012-01-09 16:11:24

标签: php javascript

我是PHP的新手(以及一般的网络开发),并且遇到了一些对我来说真的很奇怪的东西!

背景

我目前正在为我的雇主,一家培训公司设计和开发在线注册表。表格由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

我希望有人可以提供帮助!非常感谢!

3 个答案:

答案 0 :(得分:1)

您最有可能在page2.php上收到错误,

请参阅错误报告以显示和调试它们:

http://ca.php.net/manual/en/function.error-reporting.php

答案 1 :(得分:1)

当我在非Firefox浏览器中出现验证错误时,通常是因为我的JavaScript中有一些错误报告代码。就像

一样
console.log(testValue);

可以让IE瘫痪。如果您有任何类似的代码,请在其他浏览器中测试之前将其删除。

还要确保所有的变量声明都是用“var”完成的,并且你在每一行的末尾都使用了分号(规范应该真正强制执行,但我想它不会,并且浏览器会处理它不同)。

答案 2 :(得分:0)

我刚刚看到所有这些答案,所以道歉没有尽快回复。

我设法解决了这个问题 - 事实证明这与JS有关,我的PHP根本没有问题。有两个问题。首先,一些语法错误(它需要永远找到)。其次,我的很多HTML元素都有id和类名相同的类(例如id =“example”class =“example”),这似乎是在抛出一些javascript。

无论如何,感谢所有的回复,并对在某些方面不太清楚而道歉 - “乱七八糟”是解释问题的一种非常糟糕的方式!!

干杯