javascript - 在 javascript 上将标签更改为文本框

标签 javascript asp.net css gridview

首先,我的英语不太好,但我会尽力使其易于理解

所以我所做的是创建一个 GridView ,其中列; 两个控件一个标签和一个文本框 标签设置为可见 而文本框则相反

这是我的 gridview 的客户端代码

<asp:Image ID="img" onclick="javascript:Toggle(this);" runat="server" ImageUrl="~/Images/minus.gif"
                                    ToolTip="Collapse" Width="7px" Height="7px" ImageAlign="AbsMiddle" /></a>
                            <asp:Label ID="lbllastname" Height="15px" Width="180px" runat="server" Text='<%# Eval("CourseCatName")%>'></asp:Label>
                            <asp:TextBox ID="txtCourseCategory" AutoPostBack="true" runat="server" Text='<%# Eval("CourseCatName")%>'
                                Font-Size="XX-Small" Font-Names="Verdana" Style="display: none" OnTextChanged="txtCourseCategory_TextChanged"
                                Height="16px" Width="207px"></asp:TextBox><br />

我知道很难在 gridview 中找到控件,所以我所做的是在我的服务器端创建一个属性以传递给我的 javascript 函数 这是我所做的

Dim txttry As TextBox = DirectCast(e.Row.FindControl("txtCourseCategory"), TextBox)
        Dim labeltry As Label = DirectCast(e.Row.FindControl("lbllastname"), Label)
        labeltry.Attributes.Add("onclick", "javascript:return validate('" + txttry.ClientID + "','" + labeltry.ClientID + "')")

在我的 JavaScript 上,我创建了一个函数来调用控件

  function validate(txtobj, lblobj) {

        document.getElementById(lblobj).style.display = 'none';
        document.getElementById(txtobj).style.display = 'block';  
    }

这样代码就可以工作了,我认为它几乎已经完成了,但是当我运行我的程序并单击标签时; 标签隐藏,但文本框在下面,就像有一个 <br/>在那之间 我再次检查代码,但没有发现任何可以生成下面文本框的内容。 先生/女士,您认为问题出在哪里,还是我应该为其添加 CSS? 或者我的代码是个大问题? 我愿意接受建议,无论是好的还是坏的。 顺便说一下,我对 javascript 很陌生

感谢您花时间和精力尝试阅读我的问题。

最佳答案

尝试更改以下行:

document.getElementById(txtobj).style.display = 'block';

成为:

document.getElementById(txtobj).style.display = '';

// OR

document.getElementById(txtobj).style.display = 'inline';

如果您将元素设置为 block 元素,它将显示在下一行,因为这就是 block 元素的作用。如果将 display 属性设置为空字符串,则应通过将其设置为特定元素类型的默认 display 类型(在输入的情况下),使其再次可见元素应该是内联。如果这不起作用,您可以将其显式设置为内联

有关显示的更多信息可在此处获取:http://www.quirksmode.org/css/display.html - 包含图片,甚至在页面底部有一个动态更改设置的演示。

关于javascript - 在 javascript 上将标签更改为文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9170221/

相关文章:

jQuery UI CSS 没有覆盖

javascript - 最终用户通过 javascript 扩展向网站提供图标

javascript - FontAwesome Kit 加载所有版本

javascript - 如何从div中获取图像属性

发布到 Azure 时,区域中的 ASP.NET Core 文件夹不会加载资源

asp.net - 遇到除零错误

Asp.net MVC 可见/隐藏

css - CSS 显示属性的过渡

html - CSS - 如何使用 CSS 模糊图像的左侧和右侧

php - 使用innerHTML将带有撇号的格式化文本从javascript传递到html元素