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

Why is my PHP Script not working when JavaScript is switched on? (but only in certain browsers)

本文关键字:浏览器 不起作用 脚本 PHP 我的 JavaScript 为什么      更新时间:2023-09-26

我是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。

无论如何,感谢所有的回复,也为在某些方面不太清楚而道歉——"失控"是解释问题的一种非常糟糕的方式!!

干杯