如何使用PHP轻松操作页面元素的状态?

时间:2011-08-06 01:44:21

标签: php asp.net

在ASP.NET中

  • 我可以使用简单的命令显示包含许多控件的隐藏面板,例如:

    Panel.Visible = CheckBox1.Checked;
    
  • 我可以轻松禁用按钮:

    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
    Text="Submit" Enabled="false"  />
    

但现在我正在考虑使用PHP。它是否提供了一种隐藏/禁用页面元素的类似简单技术?

5 个答案:

答案 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中的逻辑层。