Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们可以在禁用渲染的情况下运行javascript吗? 上下文_Javascript_Asp.net_Javascript Events - Fatal编程技术网

我们可以在禁用渲染的情况下运行javascript吗? 上下文

我们可以在禁用渲染的情况下运行javascript吗? 上下文,javascript,asp.net,javascript-events,Javascript,Asp.net,Javascript Events,我正在开发一个非常复杂的web站点框架,其中包括大量客户端表单操作,动态外观可用于动态切换(页面加载和卸载时运行大量代码) 我需要能够动态更改各种类型的许多输入(或只读,如果可用)的禁用状态 问题 许多HTML表单输入类型的核心设计都搞砸了(至少非常不一致),当与运行asp.net的服务器结合使用时,它会变得更加奇怪 更具体地说,正如你们中的一些人所知道的,对任何输入执行disabled=“true”都会终止回发,因为在提交表单时它实际上不会被发布 可能的解决办法 在页面卸载中,我可以很容易地删

我正在开发一个非常复杂的web站点框架,其中包括大量客户端表单操作,动态外观可用于动态切换(页面加载和卸载时运行大量代码)

我需要能够动态更改各种类型的许多输入(或只读,如果可用)的禁用状态

问题 许多HTML表单输入类型的核心设计都搞砸了(至少非常不一致),当与运行asp.net的服务器结合使用时,它会变得更加奇怪

更具体地说,正如你们中的一些人所知道的,对任何输入执行disabled=“true”都会终止回发,因为在提交表单时它实际上不会被发布

可能的解决办法 在页面卸载中,我可以很容易地删除使用它的每个控件的禁用状态。。。这解决了“数据完整性”问题

但有一个大警告:

卸载终止时,整个显示屏闪烁(因为所有控件立即返回到启用状态),然后在服务器应答时,页面处于低于正常状态

杀手问题 onbeforeunload或unload事件是否有一种运行方式,使它们对DOM所做的任何操作都不会在屏幕上刷新

或者,有没有一种方法可以让视觉效果显示控件,就好像它被禁用了一样,但它仍然实际发布到服务器上

或者有人有什么想法可以推动我找到解决方案吗

提前谢谢

[编辑]
我有机会只需要支持chrome,因此这可能会为你们中的一些chrome天才打开解决方案的渠道。

不要在卸载时删除禁用,在提交表单时执行,而且它不是
禁用=“true”
不要在卸载时删除禁用,在提交表单时执行,而且它在表单发布时不是
disabled=“true”

,您还可以有第二个隐藏表单(隐藏显示:无),它可以出现在原始页面中,也可以通过JS动态创建。第二个表单中的所有项目均未禁用。提交后,将值从原始表单复制到第二个表单,然后提交第二个表单。您从不修改任何可见的内容,所以屏幕上不会有任何更改。您可以自由使用“禁用演示文稿中的所有内容”,但在提交表单的第二份副本时,仍然可以将所有值发送到服务器。

在表单发布时,您还可以拥有第二个隐藏表单(隐藏显示:无),它可以出现在原始页面中,也可以通过JS动态创建。第二个表单中的所有项目均未禁用。提交后,将值从原始表单复制到第二个表单,然后提交第二个表单。您从不修改任何可见的内容,所以屏幕上不会有任何更改。您可以在演示文稿中自由使用disable all,但在提交表单的第二个副本时,仍然可以将所有值发送到服务器。

或者(类似的)有一个表单,其中没有提交任何可见元素,但它们都有相应的隐藏输入。啊,所以我只需在原始表单中添加一个onSubmit处理程序,复制表格并从那里提交新的表格(注意从提交人处适当返回,以免重复提交)。。。整洁的或者(有点类似)有一个表单,其中没有提交任何可见元素,但它们都有相应的隐藏输入。啊,所以我只需在原始表单中添加一个onSubmit处理程序,复制表单并从那里提交新表单(注意从onSubmit中适当返回,这样我就不会得到双重提交)。。。整洁的它在XHTML中被禁用=“true;”-)实际上,似乎任何值都可以工作,尽管FF似乎表示应该禁用它=“在XHTML中禁用它=”true;-)实际上,似乎任何值都可以工作,尽管FF似乎表示应该禁用它=“”