我的表格当前使用一些JavaScript功能枚举,然后将其用JQuery .ajax()将其发布到MVC控制器操作中。如果我想添加传统的(无javascript)支持此表格,我对自己的选择有一些疑问。

1)问题是我有一些数据不在字段中,而只是div中的文本。由于我目前正在使用Ajax发布,因此在发布之前,我可以通过其ID的内容获得这些Divs的内容,并将其包含在帖子中。我认为传统帖子将缺少此信息。

一个想法是做一个 <input> 对于这些divs,但将其隐藏在页面上。然后在帖子中使用这些。

2)如果我决定只使用Ajax帖子,我可以完全摆脱该表格吗?

3)鉴于我呆在Ajax帖子中,您建议将哪种格式用于发布值? JSON,逗号限制(对于复杂数据的问题),还有其他吗?

4)您通常支持两种方式吗?因为如果我现在看我的表单,他们会使用大量的jQuery和jQuery UI功能,而这些无需JavaScript即可实现。用户不启用JS的可能性有多大,可以说“需要JS”?

对于这种具体情况,我正在构建一个尚未以网络为导向的内房,按需应用程序(至少还没有),因此我确实可以选择说需要JS。

有帮助吗?

解决方案

如果您想在没有JavaScript的情况下维护可行站点的路线,那么我建议您首先在没有它的情况下制作一个网站,然后使用JavaScript将该接口修改为启用JavaScript的真正想要的内容。这将需要从包含的所有输入开始 input 元素,然后使用您的JavaScript替换这些元素 div 元素 - 或更现实地删除 inputs 并显示现有的 div 元素。

我认为即使使用Ajax时,我也无需摆脱该表格,尽管从技术上讲,没有理由拥有它。但是,我想做的一件事是保留表单,然后让我的提交方法从 form 标记,以便我不需要直接在JavaScript中进行编码。您可能会发现这使得在各种形式之间共享JavaScript变得更加容易。

我总是序列化请求参数,就像表格通常一样。最简单的方法是与jQuery一起 serialize 方法,但这只能在输入上起作用。您还可以构造一个哈希(对象中的键值对),并将其作为AJAX的数据参数。它将自动序列化以请求参数。使用其他任何内容都需要您使用自己的代码而不是MVC中的模型绑定代码进行序列化。

对于公共面向公共的Web应用程序,我尝试使该接口为JavaScript启用和-Disabled Browsers工作。不过,非JavaScript浏览器有时无法访问某些功能。对于内部应用程序,我很高兴需要JavaScript,因为您(或公司中的某人)对其有更多的控制权。

其他提示

感谢Thomas的建议,这里代码在光标下显示鼠标坐标:

ToolTip tt = new ToolTip();
tt.SetToolTip(pic, " ");
tt.ShowAlways = true;

 private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
 {
    tt.ToolTipTitle = e.X + "  " + e.Y; 
 }
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top