在ASP.NET中
我可以使用简单的命令显示包含许多控件的隐藏面板,例如:
Panel.Visible = CheckBox1.Checked;
我可以轻松禁用按钮:
<asp:Button ID="Button1" runat="server" onclick="Button1_Click"
Text="Submit" Enabled="false" />
但现在我正在考虑使用PHP。它是否提供了一种隐藏/禁用页面元素的类似简单技术?
答案 0 :(得分:2)
与ASP.Net的不同之处在于页面中的所有控件都被(自动)解析为可以操作的对象,因为这就是架构的设计方式。您正在编写的HTML标记实际上并不是直接发送给用户的最终HTML输出。它首先通过解析器,然后使用可用的对象执行页面后面的代码。
在PHP中,您需要在屏幕上自己发出HTML代码,一旦它被发出,那就是最终输出。除非您使用某些第三方库或构建自己的第三方库,否则不会对可以操作的HTML实体对象进行抽象。相反,你做这样的事情:
if ($show) {
echo '<a href="test.html">Testing</a>';
}
或:
echo '<input type="checkbox" ';
if ($checked) echo 'checked';
echo '/>'
答案 1 :(得分:1)
简短的回答是否定的。 ASP.NET在程序上生成JavaScript和HTML,提供您预期的功能。使用PHP时,您必须自己生成这些控件(或使用众多PHP框架中的一个来帮助)。
答案 2 :(得分:0)
你基本上是在谈论微软的“WebForms”。这只是.Net的一小部分。
在PHP中没有与WebForms直接相似的东西。
对ASP.Net与PHP here进行了很好的讨论。
就个人而言,我认为当您在客户端执行更多操作时(例如使用Javascript或Java小程序),用户体验会更好。
恕我直言.. pSM
答案 3 :(得分:0)
我个人认为您所指的功能是Javascript / HTML功能而不是PHP。 PHP主要是一种脚本语言。对我来说它属于服务器的地方。隐藏/禁用HTML表单上的某些元素仍然是由Javascript / CSS / HTML处理的前端函数。 ASP.NET会为您提供额外的功能,使我更容易猜测,但Enabled="false"
实际上与HTML有关,而不是ASP.NET
我相信如果你环顾四周,你会找到PHP的库,它将帮助你用HTML表单做很好的事情,让你的生活更轻松。如果您希望转向PHP以获取这些功能,那么我建议您继续使用.NET。
答案 4 :(得分:0)
您可以使用js库(如jQuery)隐藏/显示页面上的元素。像这样的功能属于页面的表示层而不是PHP中的逻辑层。