Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.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
C# Jquery Mobile正在“我的”上方添加文本&书信电报;输入类型=提交&燃气轮机;自动地,我如何防止这种情况?_C#_Css_Forms_Jquery Mobile_Razor - Fatal编程技术网

C# Jquery Mobile正在“我的”上方添加文本&书信电报;输入类型=提交&燃气轮机;自动地,我如何防止这种情况?

C# Jquery Mobile正在“我的”上方添加文本&书信电报;输入类型=提交&燃气轮机;自动地,我如何防止这种情况?,c#,css,forms,jquery-mobile,razor,C#,Css,Forms,Jquery Mobile,Razor,我刚刚开始为我的一个网站开发手机版本 我已经为我的用户设置了我的注册表单。 它工作得很好,CSS正确地设置了它的样式 @using (Html.BeginForm("XXX", "Registration", FormMethod.Post, new { @class = "twitter-sign-in-container" })) { <input type="submit" name="twitter-button" value="Sign in with Twitter"

我刚刚开始为我的一个网站开发手机版本

我已经为我的用户设置了我的注册表单。 它工作得很好,CSS正确地设置了它的样式

@using (Html.BeginForm("XXX", "Registration", FormMethod.Post, new { @class = "twitter-sign-in-container" }))
{
    <input type="submit" name="twitter-button" value="Sign in with Twitter" id="twitter-button" />
}
@使用(Html.BeginForm(“XXX”,“Registration”,FormMethod.Post,new{@class=“twitter登录容器”}))
{
}
一旦我将Jquery mobile添加到项目中,如果发现随机的未设置样式的文本开始出现

检查时,我发现所有输入都被包装在新标记中,并将未标记的文本==添加到输入“值”中:


“使用Twitter登录”
有人知道为什么会添加“使用twitter注册”文本,以及我如何阻止它吗


p.不太重要,但我也想知道为什么Jquery将表单内容包装在下面的部分。

我认为Jquery Mobile这样做是出于可访问性的原因:

发件人:

为了便于访问,jquerymobile要求所有表单元素都与一个有意义的标签配对。要以使标签对辅助技术可见的方式隐藏标签(例如,当将元素的占位符属性用作标签时),请将“隐藏”帮助器类ui应用于标签本身:

<label for="username" class="ui-hidden-accessible">Username:</label>
<input type="text" name="username" id="username" value="" placeholder="Username"/>
用户名:
此外,来自:


要收集标准字母数字文本,请使用带有type=“text”属性的输入。将标签的for属性设置为与输入的id匹配,以便它们在语义上关联。如果页面布局中不需要标签,可以方便地隐藏标签,但是出于语义和可访问性的原因,我们要求标签出现在标记中

首先,在使用任何框架之前,让我给你一些一般性建议(至少第一次)你至少应该看看官方文档。在这种情况下,这将节省您发布此问题的时间

现在让我回答你的问题。jquerymobile和许多其他移动框架一样,有自己的一组小部件,包括定制的表单元素。您看到的只是jQuery移动版对常用按钮的替换。从头开始创建完全响应的按钮要比更改先前存在的表单元素容易得多。我想不出有任何jQuery移动元素/小部件直接在原生HTML元素上完成

如果您不喜欢这种外观,可以通过向输入按钮添加data role=“none”轻松禁用它。如果您想看到不同之处,请查看此处:

经典:

jQuery Mobile样式:

当然还有其他防止标记增强的方法,但这不是问题的重点,如果您想了解更多信息,请查看(搜索名为:防止标记增强的方法的章节)

关于最后一个问题,并不是所有内容都包装在这种div容器(.ui按钮)中,还有许多其他内容。如果您想查看其他可能的表单/页面元素(小部件),请查看

<label for="username" class="ui-hidden-accessible">Username:</label>
<input type="text" name="username" id="username" value="" placeholder="Username"/>
<input type="submit" name="twitter-button" value="Sign in with Twitter" id="twitter-button" data-role="none"/>
<input type="submit" name="twitter-button" value="Sign in with Twitter" id="twitter-button"/>